【发布时间】:2012-04-02 14:30:45
【问题描述】:
我一直在使用 jQuery 的stop(true, true) 方法来清除正在运行的动画,以便立即开始下一个动画。我注意到第一个参数clearQueue 清除了整个动画队列,但第二个参数jumpToEnd 只跳转到当前正在运行的动画的末尾,而不是从队列中删除的动画。有没有办法让它清晰并跳转到所有排队动画的末尾?
我最终链接了几个 stop(false, true) 调用,但是这只会处理 3 个排队的动画,例如。
$(this)
.stop(false, true)
.stop(false, true)
.stop(false, true)
.addClass('hover', 200);
编辑:
根据 Ates Goral 的回答,我最终添加了自己的方法 stopAll:
$.fn.extend({ stopAll: function () {
while (this.queue().length > 0)
this.stop(false, true);
return this;
} });
$(this).stopAll().addClass('hover', 200);
我希望其他人觉得这很有用。
【问题讨论】:
标签: javascript jquery animation queue