Javascript 如何停止jquery动画?
我有一个可以用箭头键移动的div/box。 然后我希望div/box在到达某个特定点时“掉到一个洞里”,然后返回开始。使div/box坠落不成问题,但当我重置它时,我一直在坠落 我使用Javascript 如何停止jquery动画?,javascript,jquery,animation,jquery-animate,Javascript,Jquery,Animation,Jquery Animate,我有一个可以用箭头键移动的div/box。 然后我希望div/box在到达某个特定点时“掉到一个洞里”,然后返回开始。使div/box坠落不成问题,但当我重置它时,我一直在坠落 我使用anmimate()进行秋季重置,使用css()进行如下重置: if(parseInt(canvas.css('left'), 10) <= -220) { box.delay(250).animate({bottom: '0'}, 500) } if(parseIn
anmimate()
进行秋季重置,使用css()
进行如下重置:
if(parseInt(canvas.css('left'), 10) <= -220) {
box.delay(250).animate({bottom: '0'}, 500)
}
if(parseInt(box.css('bottom'), 10) == 0) {
canvas.animate({left: '0'}, 2000)
}
if((parseInt(box.css('bottom'), 10) == 0) && (parseInt(canvas.css('left'), 10) == 0)) {
box.css('bottom', '100px');
}
如果(parseInt(canvas.css('left'),10)据我所知JQuery
有一个.stop()方法来停止动画,你可以看看这个方法
在JQuery
文档中。问题在于超时。队列中添加了许多动画事件。因此它正在执行所有事件。如果增加超时,可以看到差异
顺便说一句,要停止所有事件并清除队列,可以使用box.clearQueue().stop();
查看你好,我的电脑爱好者朋友,我看到了你的小提琴,答案很有趣:
原文:
if(parseInt(canvas.css('left'), 10) <= -220) {
box.delay(250).animate({bottom: '0'}, 500)
}
if(parseInt(canvas.css('left'),10)在这里->查看.animate()函数,我在函数结束后使用回调将ready设置为true。
if(parseInt(canvas.css('left'), 10) <= -220 && ready) {
ready = false;
box.delay(250).animate({bottom: '0'}, 500, function(){
ready = true;
});
}