jquery动画队列,仅针对特定项目的队列关闭

时间:2013-12-08 17:17:48

标签: javascript jquery animation

我已应用动画来显示页面上的元素。

当我按下按钮显示注册表单时,如果下一部分的动画仍在进行,并按下“注册”按钮,包含他所提供的表格的部分的开头作为延迟,问题就出现了等待底部的动画结束。

所以我申请了动画:

$(document.body).on('appear', '.animate-from-left', function() {
        jQuery(this).each(function() {
            jQuery(this).delay(150).animate({opacity: 1, left: "0px"}, {duration: 2000, queue: false});
        });
    });

但是现在出现了另一个小问题,动画不再等待了,所以如果我快速滚动DOM,就可以开始所有项目的动画。

所以问题是:

当我选择表格注册开头部分的按钮时,我能确定动画不仅仅是等待吗?

我希望我很清楚。

以下是问题的示例:JSFiddle

如果您在动画结束以下部分之前选择了注册按钮,则开启将会延迟!

1 个答案:

答案 0 :(得分:0)

确定,

我找到了解决方案!

$('#open-signup').on('click', function(){
    $('.animate-from-left').dequeue();
    $('.animate-from-right').dequeue();
    $('.animate-from-top').dequeue();
    $('.animate-from-bottom').dequeue();
    $(this).dequeue();
    ....

此处JSFiddle