queue 队列
介绍:函数在排队,就是第一个执行完了,第二个才会开始执行,依次,后面都一样,不会混乱。
1、queue方法
在匹配的元素上创建函数队列,(替换已有队列),或向函数队列中添加函数。
1.1、怎么在匹配的元素上创建新队列。
jquery对象.queue(队列名,函数数组);
$(document).queue("xlj",[ function(){ console.log("我是第1个函数~"); }, function(){ console.log("我是第2个函数~"); }, function(){ console.log("我是第3个函数~"); } ]);
1.2、执行队列中的函数。
jquery对象.dequeue(队列名);
执行匹配元素的下一函数。
$(document).dequeue("xlj"); //输出 我是第1个函数~
我们也可以这样让函数数组中的每一函数依次执行。
$(document).queue("xlj",[ function(next){ console.log("我是第1个函数~"); next(); }, function(next){ console.log("我是第2个函数~"); next(); }, function(){ console.log("我是第3个函数~"); } ]); $(document).dequeue("xlj");
这样就可以输出三条语句,参数next 并调用它就是让执行队列中的下一个函数。
1.3、向已有队列中继续添加函数
jquery对象.queue(队列名,新函数);
$(document).queue("xlj",function(next){ console.log("我是第4条函数~"); next(); });
1.4、替换已有队列
jquery对象.queue(已有队列名称,函数数组);
$(document).queue("xlj",[ function(){ console.log("今天星期四~"); } ]);
这样的话,前面的队列函数就被覆盖了。
1.5、获取,指定元素上指定队列中函数的个数(包括正在执行的方法)
jQuery对象.queue('已有的队列名称').length;
正在执行的动画方法显示形式为:"inprogress"
2、clearQueue方法
从列队中移除所有未执行的项
clearQueue( [queueName ] )
queueName:一个含有队列名的字符串。默认是fx,标准的效果队列
当clearQueue()方法被访问的时候,所有在这个列队中未执行的函数将被移除 。
这个方法类似stop(true)然而stop()方法只适用在动画中,clearQueue()还可以用来移除用queue()方法添加到队里中的任何函数。