概述 .fadeToggle( [duration ] [, easing ] [, complete ] )
返回值:jQuery
描述:通过匹配的元素的不透明度动画,来显示或隐藏它们。
400
)
swing
)
400
)
swing
)
true
)
.dequeue("queuename")
来启动它。
.fadeToggle()
方法执行匹配元素的不透明度动画。当被可见元素调用时,元素不透明度一旦达到0,display
样式属性设置为none
,所以元素不再影响页面的布局。
延时时间是以毫秒为单位的,数值越大,动画越慢,不是越快。字符串 'fast'
和 'slow'
分别代表200和600毫秒的延时。(译者注:如果提供任何其他字符串,或者这个duration
参数被省略,那么默认使用400
毫秒的延时)
从jQuery 1.4.3开始,增加了一个字符串命名的可选的参数,用于确定使用的缓动函数。一个缓动函数指定用于动画进行中在不同点位的速度。 在jQuery库中easing默认的是调用 swing
, 如果想要在一个恒定的速度进行动画,那么调用 linear
. 更多的缓动函数要使用的插件,最显着的是jQuery UI suite。
如果提供回调函数,这个 callback
函数将在动画完成后被执行一次。这个能用来将不同的动画串联起来组成一个事件序列。这个回调函数不设置任何参数,但是this
指向执行动画的DOM元素。如果多个元素一起做动画效果,值得注意的是这个回调函数在每个匹配元素上执行一次。这个动画不是作为一个整体。
从jQuery 1.6开始,.promise()
方法可以用来配合deferred.done()
方法作为一个整体,当所有匹配的元素已经完成各自的动画后,再执行一个回调的动画。
.fadeToggle()
,都能通过设置jQuery.fx.off = true
全局的关闭,效果等同于持续时间设置为0。更多信息查看 jQuery.fx.off
.
示例
第一段落渐隐或渐显,用时 600 毫秒,并且是线性缓冲效果。而最后一个段落渐隐渐显用时 200 毫秒, 并且在每次动画完成后插入一个 "finished"。
<!DOCTYPE html>
<html>
<head>
<script src="http://code.jquery.com/jquery-latest.js"></script>
</head>
<body>
<button>fadeToggle p1</button>
<button>fadeToggle p2</button>
<p>This paragraph has a slow, linear fade.</p>
<p>This paragraph has a fast animation.</p>
<div id="log"></div>
<script>
$("button:first").click(function() {
$("p:first").fadeToggle("slow", "linear");
});
$("button:last").click(function () {
$("p:last").fadeToggle("fast", function () {
$("#log").append("<div>finished</div>");
});
});
</script>
</body>
</html>