我正在阅读AutoScroll插件的代码@ http://blog.insicdesigns.com/2010/08/an-ultra-lightweight-autoscroll-to-top-jquery-plugin/
你会找到
var t = jq('<div class="'+ops.styleClass+'"></div>')
然后经过一些代码
t.clearQueue().fadeOut(ops.hideDuration || 200);
clearQueue在这做什么?或者只是clearQueuein jQuery做了什么?
答案 0 :(得分:3)
描述:从队列中删除所有尚未运行的项目。
http://api.jquery.com/clearQueue/
该调用应与
完全相同t.stop(true,true).fadeOut(ops.hideDuration || 200);
这里唯一的区别是clearQueue
会从(函数)队列中删除所有函数,而.stop()
只会影响fx methods
。
答案 1 :(得分:3)
它将取消尚未运行的所有排队项目(通常是动画)。
如果正在进行当前动画(例如),则不会受到影响。但是任何排队的项目都不会执行。
在此示例中,height
动画将继续,但排队的.fadeOut()
将不会发生。
示例: http://jsfiddle.net/sXnVj/
$('div')
.animate({height: 500},1000)
.fadeOut();
$('div').clearQueue();
或者采取项目已排队但从未出列的情况。除非您清除队列,否则任何后续排队的项目都将永远不会执行。
此处,.fadeOut()
不会发生:
$('div').queue(function() {});
$('div').fadeOut(2000);
但在这里它会:
$('div').queue(function() {});
$('div').clearQueue().fadeOut(2000);
答案 2 :(得分:0)
它清除要执行的函数调用队列,即已调用但此时尚未执行的函数。查看此信息以获取更多信息:
答案 3 :(得分:0)
它不是AutoScroll插件的一部分,他只是在jQuery API
中使用它