当前位置:   article > 正文

jQuery动画效果---隐藏/显示,淡入淡出,滑动,动画_jquery淡入淡出动画

jquery淡入淡出动画

jquery可以实现很多流畅的动画效果

1.隐藏/显示

语法规则

  1. 可选的 speed 参数规定效果的时长。它可以取以下值:"slow""fast" 或毫秒。
  2. 可选的 callback 参数是 fading 完成后所执行的函数名称。
  3. $(selector).hide(speed,callback);//使元素隐藏
  4. $(selector).show(speed,callback);//使元素显示
  5. 通过 jQuery,您可以使用 toggle() 方法来切换 hide() 和 show() 方法。
  6. 显示被隐藏的元素,并隐藏已显示的元素:
  7. $(selector).toggle(speed,callback);
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <title>jquery隐藏和显示</title>
  7. <script src="https://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script>
  8. <style>
  9. .box{
  10. width: 200px;
  11. height: 200px;
  12. background-color: #666;
  13. margin: 20px;
  14. float: left;
  15. }
  16. </style>
  17. </head>
  18. <body>
  19. <div class="box"></div>
  20. <div class="box"></div>
  21. <div class="box"></div>
  22. <button class="bt1">1.隐藏/显示</button>
  23. <button class="bt2">2.隐藏/显示</button>
  24. </body>
  25. <script src="js.js"></script>
  26. </html>
  27. ---js部分---
  28. $(document).ready(function(){
  29. let show = true;//默认不隐藏
  30. $(".bt1").click(function () {
  31. if(show){
  32. $(".box").hide(1000,function () {
  33. show = false;
  34. console.log("隐藏了")
  35. });
  36. }else if(!show){
  37. $(".box").show(1000,function () {
  38. show = true;
  39. console.log("显示了")
  40. });
  41. }
  42. });
  43. //以下效果和上方一致
  44. $(".bt2").click(function () {
  45. $(".box").toggle(1000);
  46. });
  47. })

运行结果如下

2.淡入淡出

通过 jQuery,您可以实现元素的淡入淡出效果

jQuery 拥有下面四种 fade 方法:

fadeIn()
fadeOut()
fadeToggle()
fadeTo()

语法规则

  1. 可选的 speed 参数规定效果的时长。它可以取以下值:"slow""fast" 或毫秒。
  2. 可选的 callback 参数是 fading 完成后所执行的函数名称。
  3. $(selector).fadeIn(speed,callback);//淡入
  4. $(selector).fadeOut(speed,callback);//淡出
  5. jQuery fadeToggle() 方法可以在 fadeIn() 与 fadeOut() 方法之间进行切换。
  6. 如果元素已淡出,则 fadeToggle() 会向元素添加淡入效果。
  7. 如果元素已淡入,则 fadeToggle() 会向元素添加淡出效果。
  8. $(selector).fadeToggle(speed,callback);
  9. jQuery fadeTo() 方法允许渐变为给定的不透明度(值介于 01 之间)。
  10. $(selector).fadeTo(speed,opacity,callback);
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <title>jquery淡入淡出</title>
  7. <script src="https://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script>
  8. <style>
  9. .box{
  10. width: 200px;
  11. height: 200px;
  12. background-color: #666;
  13. margin: 20px;
  14. float: left;
  15. }
  16. </style>
  17. </head>
  18. <body>
  19. <div class="box"></div>
  20. <div class="box"></div>
  21. <div class="box"></div>
  22. <button class="bt1">淡出</button>
  23. <button class="bt2">淡入</button>
  24. <button class="bt3">淡入淡出</button>
  25. <button class="bt4">透明度</button>
  26. </body>
  27. <script src="jquery.js"></script>
  28. </html>
  29. ---js部分---
  30. $(function () {
  31. $(".bt1").click(function () {
  32. $(".box").fadeOut(1000);
  33. });
  34. $(".bt2").click(function () {
  35. $(".box").fadeIn(1000);
  36. });
  37. $(".bt3").click(function () {
  38. $(".box").fadeToggle(1000);
  39. });
  40. $(".bt4").click(function () {
  41. $(".box").fadeTo(1000,0.2);
  42. });
  43. })

3.滑动

通过 jQuery,您可以在元素上创建滑动效果。

jQuery 拥有以下滑动方法:

  • slideDown()
  • slideUp()
  • slideToggle()
  1. $(selector).slideDown(speed,callback);
  2. $(selector).slideUp(speed,callback);
  3. jQuery slideToggle() 方法可以在 slideDown() 与 slideUp() 方法之间进行切换。
  4. 如果元素向下滑动,则 slideToggle() 可向上滑动它们。
  5. 如果元素向上滑动,则 slideToggle() 可向下滑动它们。
  6. $(selector).slideToggle(speed,callback);
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <title>jquery滑动</title>
  7. <script src="https://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script>
  8. <style>
  9. .title ,.box{
  10. width: 500px;
  11. border: 2px solid rgb(255, 106, 0);
  12. background-color: rgb(255, 166, 103);
  13. }
  14. .title{
  15. height: 100px;
  16. text-align: center;
  17. line-height: 100px;
  18. font-size: 30px;
  19. }
  20. .box{
  21. text-indent: 20px;/*段落缩进*/
  22. }
  23. </style>
  24. </head>
  25. <body>
  26. <div class="title">滑动特效</div>
  27. <div class="box">
  28. jQuery 是一个 JavaScript 函数库。
  29. jQuery 是一个轻量级的"写的少,做的多"的 JavaScript 库。<br>
  30. jQuery 库包含以下功能:
  31. HTML 元素选取<br>
  32. HTML 元素操作<br>
  33. CSS 操作<br>
  34. HTML 事件函数<br>
  35. JavaScript 特效和动画<br>
  36. HTML DOM 遍历和修改<br>
  37. AJAX<br>
  38. Utilities<br>
  39. </div>
  40. <button class="bt1">滑出</button>
  41. <button class="bt2">滑入</button>
  42. </body>
  43. <script src="jquery.js"></script>
  44. </html>
  45. ---js部分---
  46. $(document).ready(function () {
  47. $(".bt1").click(function () {
  48. $(".box").slideDown(1000);
  49. });
  50. $(".bt2").click(function () {
  51. $(".box").slideUp(1000);
  52. });
  53. $(".title").click(function () {
  54. $(".box").slideToggle(1000);
  55. });
  56. });

4.动画

        jQuery animate() 方法用于创建自定义动画,和css动画类似(线性变化属性),将属性对象写入即可,可以用 animate() 方法来操作所有 几乎所有的CSS 属性

  1. $(selector).animate({params},speed,callback);
  2. 必需的 params 参数定义形成动画的 CSS 属性。
  3. 可选的 speed 参数规定效果的时长。它可以取以下值:"slow""fast" 或毫秒。
  4. 可选的 callback 参数是动画完成后所执行的函数名称。
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <title>jquery动画</title>
  7. <script src="https://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script>
  8. <style>
  9. .box{
  10. position: absolute;
  11. width: 100px;
  12. height: 100px;
  13. background-color: #666;
  14. color: #eee;
  15. }
  16. </style>
  17. </head>
  18. <body>
  19. <div class="box">点击展示动画</div>
  20. </body>
  21. <script src="jquery.js"></script>
  22. </html>
  23. ---js部分---
  24. $(document).ready(function () {
  25. $(".box").click(function (e) {
  26. //可以出现多个动画,每个动画可以出现多个属性,可以用 animate() 方法来操作所有 几乎所有的CSS 属性
  27. $(".box").animate({
  28. left : "500px",
  29. opacity : "0.4"
  30. },2000);
  31. $(".box").animate({
  32. left : "0px",
  33. opacity : "1"
  34. },2000);
  35. });
  36. });

停止动画

  1. $(selector).stop(stopAll,goToEnd);
  2. 可选的 stopAll 参数规定是否应该清除动画队列。默认是 false,即仅停止活动的动画,允许任何排入队列的动画向后执行。
  3. 可选的 goToEnd 参数规定是否立即完成当前动画。默认是 false
  4. 因此,默认地,stop() 会清除在被选元素上指定的当前动画。

jQuery stop() 方法用于停止动画或效果,在它们完成之前。

stop() 方法适用于所有 jQuery 效果函数,包括滑动、淡入淡出和自定义动画。

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <title>jquery动画</title>
  7. <script src="https://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script>
  8. <style>
  9. .box{
  10. position: absolute;
  11. width: 100px;
  12. height: 100px;
  13. background-color: #666;
  14. color: #eee;
  15. }
  16. .control{
  17. top: 200px;
  18. position: relative;
  19. }
  20. </style>
  21. </head>
  22. <body>
  23. <div class="box">点击展示动画</div>
  24. <div class="control">
  25. <button class="bt1">停止当前的动画</button>
  26. <button class="bt2">停止所有的动画</button>
  27. <button class="bt3">停止当前的动画,并完成当前动画</button>
  28. <button class="bt3">停止所有的动画,并完成当前动画</button>
  29. </div>
  30. </body>
  31. <script src="jquery.js"></script>
  32. </html>
  33. ---js部分---
  34. $(document).ready(function () {
  35. $(".box").click(function (e) {
  36. //可以出现多个动画(动画队列),每个动画可以出现多个属性,可以用 animate() 方法来操作所有 几乎所有的CSS 属性
  37. $(".box").animate({
  38. left : "500px",
  39. opacity : "0.4"
  40. },2000);
  41. $(".box").animate({
  42. left : "0px",
  43. opacity : "1"
  44. },2000);
  45. });
  46. $(".bt1").click(function (e) {
  47. $(".box").stop(false);//参数1,默认为false,仅停止当前执行的一个动画,之后继续执行动画队列的后续动画
  48. });
  49. $(".bt2").click(function (e) {
  50. $(".box").stop(true);//停止所有动画
  51. });
  52. $(".bt3").click(function (e) {
  53. $(".box").stop(false,true);//参数2,立刻执行完当前动画(结束变化过程)
  54. });
  55. $(".bt4").click(function (e) {
  56. $(".box").stop(true,true);//停止所有动画,立刻执行完当前动画(结束变化过程)
  57. });
  58. });

注:实测第3,4个按钮并没有区别

5.callback和链

Callback 函数在当前动画 效果100% 完成之后执行。

通过 jQuery,可以把动作/方法链接在一起。

Chaining 允许我们在一条语句中运行多个 jQuery 方法(在相同的元素上)。

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <title>jqueryCallback和链</title>
  7. <script src="https://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script>
  8. <style>
  9. .box{
  10. position: absolute;
  11. width: 100px;
  12. height: 100px;
  13. background-color: #666;
  14. color: #eee;
  15. }
  16. </style>
  17. </head>
  18. <body>
  19. <div class="box">点击展示动画</div>
  20. </body>
  21. <script src="jquery.js"></script>
  22. </html>
  23. ---js部分---
  24. $(document).ready(function () {
  25. $(".box").click(function (e) {
  26. // //可以出现多个动画,每个动画可以出现多个属性,可以用 animate() 方法来操作所有 几乎所有的CSS 属性
  27. // //动画1
  28. // $(".box").animate({
  29. // left : "500px",
  30. // opacity : "0.4"
  31. // },2000,function () { //callback函数
  32. // console.log("动画1完成了");
  33. // });
  34. // //动画2
  35. // $(".box").animate({
  36. // left : "0px",
  37. // opacity : "1"
  38. // },2000,function () {
  39. // console.log("动画2完成了");
  40. // });
  41. //以上动画可以通过'链'简化,效果一致
  42. //动画链
  43. $(".box").animate({
  44. left : "500px",
  45. opacity : "0.4"
  46. },2000,function () { //callback函数
  47. console.log("动画1完成了");
  48. }).animate({
  49. left : "0px",
  50. opacity : "1"
  51. },2000,function () {
  52. console.log("动画2完成了");
  53. });
  54. });
  55. });

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/660367
推荐阅读
相关标签
  

闽ICP备14008679号