Javascript jquery防止动画队列建立

Javascript jquery防止动画队列建立,javascript,jquery,animation,Javascript,Jquery,Animation,我有问题,若用户点击按钮太快,动画队列会不断堆积,所以它会停止正常工作。我需要行为,当他点击按钮时,动画总是从一开始就开始当前动画,并忘记队列中过去的动画 我尝试了stop(true,true)和clearQueue()添加到下面的代码中,但我这么做是出于运气,因为我不太了解jQuery,而且经过数小时的尝试也没有成功 var o, s, l; e.animate = function(n, a, r, l, u) { o = u, s = [], i(n), t(".unddd").e

我有问题,若用户点击按钮太快,动画队列会不断堆积,所以它会停止正常工作。我需要行为,当他点击按钮时,动画总是从一开始就开始当前动画,并忘记队列中过去的动画

我尝试了
stop(true,true)
clearQueue()
添加到下面的代码中,但我这么做是出于运气,因为我不太了解jQuery,而且经过数小时的尝试也没有成功

var o, s, l;
e.animate = function(n, a, r, l, u) {
    o = u, s = [], i(n), t(".unddd").each(function(e, n) {
        Z.enqueue(function() {
            t(n).removeClass("unddd", 1, null, Z.dequeue)
        })
    }), Z.enqueue(function() {
        t(".unindicated").addClass("used_for_hand", o, null, Z.dequeue)
    }, t(".unindicated").size()), Z.enqueue(function() {
        t("#paybe").addClass("highlight"), Z.dequeue()
    }), Z.enqueue(function() {
    }), Z.startDequeue()
}, e.animateOut = function(e) {
    e ? Z.enqueue(function() {
        t(".status").hide(), t(".ble").addClass("discard", o, null, Z.dequeue)
    }, t(".ble").size()) : Z.enqueue(function() {
        t(".ble").not(".held").addClass("discard", o, null, Z.dequeue)
    }, t(".ble").not(".held").size()), Z.startDequeue()
}

您可以添加布尔检查“isRunning”,并在动画功能期间将其设置为true,然后在动画完成时将其设置为false


之后,只需在调用任何动画方法之前检查isRunning==false。动画只有在尚未运行时才会运行。

我设法解决了这个问题,方法是在单击后禁用onclick,在动画结束后启用它。

这不起作用,因为我需要在每次单击按钮后从头开始启动动画。您的解决方案建议,如果第一个未结束,则不播放动画。这是不同的东西。也许创建一个像下面这样的函数,在每次单击开始时调用它$(“#按钮”)。单击(函数(){$(“.animatedElement”).stop();});我觉得我们快到了。。。如果我将游戏切换到游戏,那么动画总是完整的,所以这是动画元素,所以我使用$(“.game”).stop(true,false)$(“.game”).clearQueue();但是它还不起作用,不知道为什么:/i我感觉我们现在更接近了帮助我不知道在这里阻止这个动画排队!!帮助我不知道在这里停止排队这个动画!!