jQuery animate动画精讲

7 篇文章 0 订阅
7 篇文章 0 订阅

如何支持“背景颜色”

animate方法,能够支持单位为数值(px、em、%)的CSS属性,对于背景颜色的变化,animate是不支持的。但是我们有时也希望颜色能够发生变化,此时,我们可以使用一个jQuery插件——jQuery.Color()。点击此处可下载——jQuery.Color插件(访问密码:236d)

  1. <!doctype html>

  2. <html>

  3. <head>

  4. <meta charset="UTF-8">

  5. <title>HTML5学堂 - jQuery animate</title>

  6. <link rel="stylesheet" href="model/css/reset.css">

  7. <script src="model/js/jquery-1.11.2.js"></script>

  8. <script src="model/js/jquery.color.js"></script>

  9. <style>

  10. .btn {

  11. height: 50px;

  12. line-height: 50px;

  13. font-size: 32px;

  14. }

  15. .wrap {

  16. width: 400px;

  17. height: 50px;

  18. background: #39f;

  19. color: #fff;

  20. font-size: 32px;

  21. font-weight: bold;

  22. text-align: center;

  23. line-height: 50px;

  24. }

  25. </style>

  26. </head>

  27. <body>

  28. <div class="btn">点击此处</div>

  29. <div class="wrap">HTML5学堂</div>

  30. <script>

  31. $(".btn").click(function(){

  32. $(".wrap").animate({

  33. "background-color" : "#999"

  34. }, 1000)

  35. });

  36. </script>

  37. </body>

  38. </html>


animate动画中的变量应用

jQuery的动画属性animate,除了能够设置基本的数值之外,还可以设置相对的值。如果一个值提供了一个+=和 -=操作符号,那么目标值 = 当前的值 + 或 - 给定的值。

代码示例:

  1. <!doctype html>

  2. <html>

  3. <head>

  4. <meta charset="UTF-8">

  5. <title>HTML5学堂 - jQuery animate</title>

  6. <link rel="stylesheet" href="model/css/reset.css">

  7. <script src="model/js/jquery-1.11.2.js"></script>

  8. <style>

  9. .btn {

  10. height: 50px;

  11. line-height: 50px;

  12. font-size: 32px;

  13. }

  14. .wrap {

  15. width: 400px;

  16. height: 50px;

  17. background: #39f;

  18. color: #fff;

  19. font-size: 32px;

  20. font-weight: bold;

  21. text-align: center;

  22. line-height: 50px;

  23. }

  24. </style>

  25. </head>

  26. <body>

  27. <div class="btn">点击此处</div>

  28. <div class="wrap">HTML5学堂</div>

  29. <script>

  30. $(".btn").click(function(){

  31. $(".wrap").animate({

  32. "width" : "+=100px"

  33. }, 1000)

  34. });

  35. </script>

  36. </body>

  37. </html>


animate动画中的特殊属性值

jQuery的animate方法当中,对于属性的属性值设置,除了使用数值之外,还可以考虑“show”、“hide”、“toggle”。个人认为,这三种方法的优势在于,对于需要隐藏或显示此类的特效,能够具备较好的扩展性。换句话说,对于一个元素,如果初始状态是宽度400像素,希望能够点击之后宽度变化为0,再点击某处宽度恢复。我们可以使用animate({"width" : "0px"});和animate({"width" : "400px"});来处理。但是,如果此时当前元素的初始宽度并不是400,而是600像素,那么上面这段代码就变得没有“扩展性”了。虽然我们的确可以使用变量替换掉常量,再使用.css()方法获取当前元素的样式,但是也可以通过上面提到的“toggle”等特殊属性值进行控制。

  1. <!doctype html>

  2. <html>

  3. <head>

  4. <meta charset="UTF-8">

  5. <title>HTML5学堂 - jQuery animate</title>

  6. <link rel="stylesheet" href="model/css/reset.css">

  7. <script src="model/js/jquery-1.11.2.js"></script>

  8. <style>

  9. .btn {

  10. height: 50px;

  11. line-height: 50px;

  12. font-size: 32px;

  13. }

  14. .wrap {

  15. width: 400px;

  16. height: 50px;

  17. background: #39f;

  18. color: #fff;

  19. font-size: 32px;

  20. font-weight: bold;

  21. text-align: center;

  22. line-height: 50px;

  23. }

  24. </style>

  25. </head>

  26. <body>

  27. <div class="btn">点击此处</div>

  28. <div class="wrap">HTML5学堂</div>

  29. <script>

  30. $(".btn").click(function(){

  31. $(".wrap").animate({

  32. "width" : "toggle"

  33. }, 1000)

  34. });

  35. </script>

  36. </body>

  37. </html>


链式动画

我们能够使用animate实现多个动画,但是如何让一个一个的动画有顺序的执行呢?此处会使用到queue这个属性设置。queue表示是否在效果队列中放置动画(即,是否形成一个链式动画)。如果queue的值为false,则动画立即开始,如果为queue的值设置为true,则表示是链式动画。默认为true(链式)。

个人认为,并没有太大的必要,因为默认的就是链式动画,如果希望同时变化,完全可以写在一个animate当中。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值