在 jQuery 中,如果想要实现元素的淡入与淡出的渐变效果,有以下 3 种方式:
图 1:fadeIn() 和 fadeOut() 方法的效果
- fadeIn() 和 fadeOut();
- fadeToggle();
- fadeTo()。
本节教程先来介绍 fadeIn() 和 fadeOut() 方法,fadeToggle() 和 fadeTo() 之后介绍。
在 jQuery 中,我们可以使用 fadeIn() 方法来实现元素的淡入效果,可以使用 fadeOut() 方法来实现元素的淡出效果。一般情况下,fadeIn() 和 fadeOut() 这两个方法都是配合起来使用的。
语法:
$().fadeIn(speed, fn)
$().fadeOut(speed, fn)
speed 是一个可选参数,表示动画的速度,单位为毫秒。如果省略参数,则表示采用默认速度。speed 有两种取值,一种是“字符串”,另一种是“数值”,如表 1 所示。
字符串 | 数值 |
---|---|
slow | 200 |
normal | 400(默认值) |
fast | 600 |
fn 也是一个可选参数,表示动画执行完成后的回调函数。
举例:
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title></title> <script src="js/jquery-1.12.4.min.js"></script> <script> $(function () { $("#btn_hide").click(function(){ $("img").fadeOut(); }) $("#btn_show").click(function () { $("img").fadeIn(); }) }) </script> </head> <body> <input id="btn_hide" type="button" value="淡出" /> <input id="btn_show" type="button" value="淡入" /><br/> <img src="img/jquery.png" alt=""/> </body> </html>
预览效果如图 1 所示。
图 1:fadeIn() 和 fadeOut() 方法的效果
可能有些小伙伴会发现,使用 fadeIn() 和 fadeOut() 方法实现的淡入和淡出效果与使用 show() 和 hide() 方法实现的带动画的显示与隐藏效果几乎是一模一样的。确实,这两种方式很相似。但是我们不要被其表象给蒙蔽了双眼,实际上这两种方式还是有一定区别的。
区别如下:
- show() 与 hide():通过改变 height、width、opacity、display 来实现元素的显示与隐藏效果;
- fadeIn() 与 fadeOut():通过改变 opacity、display 来实现元素的淡入与淡出效果。
此外,使用这两种方式实现的效果在视觉上也有一定的区别,例如,使用 hide() 方法实现的效果是慢慢缩小来隐藏元素,而 fadeOut() 方法实现的效果是整体淡化直至消失。
原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/23861.html