返回值:jQueryfadeIn([duration], [callback])
通过透明度渐显匹配的元素。
-
1.0 新增fadeIn([duration], [callback])
duration (String,Number) 可选参数,字符串("slow"或 "fast")或表示动画时长的毫秒数值callback (Callback) 可选参数,在动画完成时执行的函数。 -
1.4.3 新增fadeIn([duration], [easing], [callback])
duration (String,Number) 可选参数,字符串("slow"或 "fast")或表示动画时长的毫秒数值easing (String) 可选参数,要使用的缓冲效果的名称,默认值是 "swing"。jQuery 内置提供 "linear" 和 "swing" 两种效果,如果要使用更多缓冲效果,需要插件支持。callback (Callback) 可选参数,在动画完成时执行的函数。
.fadeIn()
方法对匹配元素的透明度生成动画效果。
duration 参数可以提供一个毫秒数,代表动画运行的时间,时间越长动画越慢。还可以提供字符串 'fast'
和 'slow'
,分别对应了 200
和 600
毫秒。如果没有设置 duration
参数,或者设置成其他无法识别的字符串,就会使用默认值 400 毫秒。
从 jQuery 1.4.3 起,增加了一个可选的参数,用于确定使用的缓冲函数。缓冲函数确定了动画在不同的位置的速度。jQuery默认只提供两个缓冲效果:swing
和 linear
。更多特效需要使用插件。可以访问 jQuery UI 网站 来获得更多信息。
如果提供了回调函数,那么当动画结束时,会调用这个函数。通常用来几个不同的动画依次完成。这个函数不接受任何参数,但是 this
会设成将要执行动画的那个元素。如果对多个元素设置动画,那么要非常注意,回调函数会在每一个动画完成的元素上都执行一次,而不是对这组动画整体才执行一次。
比如下面这个页面:
<div id="clickme"> Click here </div> <img id="book" src="book.png" alt="" width="100" height="123" />
如果元素一开始是隐藏的,我们可以这样将其缓慢地显现:
$('#clickme').click(function() { $('#book').fadeIn('slow', function() { // 动画完成 }); });
示例:
依次把影藏的 div 显现出来,用时 600 毫秒。
<!DOCTYPE html>
<html>
<head>
<style>
span { color:red; cursor:pointer; }
div { margin:3px; width:80px; display:none;
height:80px; float:left; }
div#one { background:#f00; }
div#two { background:#0f0; }
div#three { background:#00f; }
</style>
<script src="jquery.min.js"></script>
</head>
<body>
<span>Click here...</span>
<div id="one"></div>
<div id="two"></div>
<div id="three"></div>
<script>
$(document.body).click(function () {
$("div:hidden:first").fadeIn("slow");
});
</script>
</body>
</html>
演示:
示例:
在文本上方渐渐显示一个红色方块,一旦动画完成后,马上在上面再显示一行文本。
<!DOCTYPE html>
<html>
<head>
<style>
p { position:relative; width:400px; height:90px; }
div { position:absolute; width:400px; height:65px;
font-size:36px; text-align:center;
color:yellow; background:red;
padding-top:25px;
top:0; left:0; display:none; }
span { display:none; }
</style>
<script src="jquery.min.js"></script>
</head>
<body>
<p>
Let it be known that the party of the first part
and the party of the second part are henceforth
and hereto directed to assess the allegations
for factual correctness... (<a href="#">click!</a>)
<div><span>CENSORED!</span></div>
</p>
<script>
$("a").click(function () {
$("div").fadeIn(3000, function () {
$("span").fadeIn(100);
});
return false;
});
</script>
</body>
</html>