3-4 jQuery中淡入效果fadeTo
本节编程练习不计算学习进度,请电脑登录imooc.com操作

jQuery中淡入效果fadeTo

淡入淡出fadeIn与fadeOut都是修改元素样式的opacity属性,但是他们都有个共同的特点,变化的区间要么是0,要么是1

fadeIn:淡入效果,内容显示,opacity是0到1
fadeOut:淡出效果,内容隐藏,opacity是1到0

如果要让元素保持动画效果,执行opacity = 0.5的效果时,要如何处理?

如果不考虑CSS3,我们用JS实现的话,基本就是通过定时器,在设定的时间内一点点的修改opacity的值,最终为0.5,原理虽说简单,但是总不如一键设置这么舒服,jQuery提供了fadeTo方法,可以让改变透明度一步到位

语法

.fadeTo( duration, opacity ,callback)

必需的 duration参数规定效果的时长。它可以取以下值:"slow"、"fast" 或毫秒。fadeTo() 方法中必需的 opacity 参数将淡入淡出效果设置为给定的不透明度(值介于 0 与 1 之间)。可选的 callback 参数是该函数完成后所执行的函数名称。

 

使用比较简单,具体使用可以参考右边代码:

任务

  1. <!DOCTYPE html>
  2. <html>
  3.  
  4. <head>
  5. <meta http-equiv="Content-type" content="text/html; charset=utf-8" />
  6. <title></title>
  7. <style>
  8. p {
  9. color: red;
  10. }
  11. </style>
  12. <script src="http://libs.baidu.com/jquery/1.9.1/jquery.js"></script>
  13. </head>
  14.  
  15. <body>
  16. <h2>fadeTo</h2>
  17. <p>测试文字透明度效果</p>
  18. <p>慕课网,专注分享</p>
  19. 透明度的设置效果:
  20. <select id="animation">
  21. <option value="1">fadeTo( "slow" ,0.5 )</option>
  22. <option value="2">fadeTo( 1000 ,0.2 )</option>
  23. <option value="3">fadeTo( 1000 ,0.9 ,complete)</option>
  24. </select>
  25. <input id="btnFadeSwitch" type="button" value="点击切换显示/隐藏">
  26. <script type="text/javascript">
  27. //【切换显示/隐藏】按钮
  28. $("#btnFadeSwitch").click(function() {
  29. var v = $("#animation").val();
  30. if (v == "1") {
  31. $("p").fadeTo("slow", 0.5);
  32. } else if (v == "2") {
  33. $("p").fadeTo(1000, 0.2);
  34. } else if (v == "3") {
  35. $("p").fadeTo(1000, 0.9, function() {
  36. alert('完成')
  37. });
  38. }
  39. });
  40. </script>
  41. </body>
  42.  
  43. </html>
  44.  
下一节