jQuery的链式动画写法中加入setTimeout

今日闲逛,看到一个简单的封装,用于在两次animate之间,加入一定的时间间隔的等待。
原文地址:http://docs.jquery.com/Cookbook/wait
你还可以在里边看到demo

$.fn.wait = function(time, type) {
time = time || 1000;
type = type || “fx”;
return this.queue(type, function() {
var self = this;
setTimeout(function() {
$(self).dequeue();
}, time);
});
};

具体用法是,.wait( [time], [type] )
第一个参数是时间,默认是1000毫秒。
第二个参数是类型,默认是fx即动画效果

function runIt() {
$(“div”).wait()
.animate({left:’+=200′},2000)
.wait()
.animate({left:’-=200′},1500,runIt);
}
runIt();

由于我对对queue这个函数用法不是很熟,所以我也不太清楚第二个参数还能设置除了fx之外的其他什么。
有熟悉的朋友可以帮忙解释一下。

《jQuery的链式动画写法中加入setTimeout》有6个想法

  1. 看了下代码,实际上fx是指jQuery.fx

    如果你的动画是用默认的animate做的,那么自然就是fx

    如果是用自己的扩展实现的,例如myfx.animate,那么就用myfx

    不过一般不会自己去写fx,所以可以无视这个参数了

发表评论