我有问题,如果用户在按钮上点击太快,动画队列就会继续堆积,以便它停止正常工作。我需要行为,当他点击按钮动画时,总是从头开始播放当前动画并忘记队列中的过去动画。
我尝试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()
}
答案 0 :(得分:0)
你可以添加一个布尔检查" isRunning"并在动画功能期间将其设置为true,然后在动画完成时将其设置为false。
之后,在调用任何动画方法之前,只需检查isRunning == false。只有在动画尚未运行时才会运行。
答案 1 :(得分:0)
我设法解决了这个问题,通过点击后禁用onclick,并在动画结束后启用它