如何停止jQuery循环动画?
我有一个图像,连续旋转90度左右,我试图阻止它,但我无法弄清楚如何。如何停止jQuery循环动画?
我试图把这个函数放在If
声明中,所以我可以调用function = false;
或true
但它不起作用。
这里是一个小提琴:http://jsfiddle.net/gpPcU/
您可以将回调函数更改为false
$("img").rotate({angle:0, callback:function(){ false; }});
- 1:这不起作用:http://jsfiddle.net/gpPcU/15/它不工作的原因是因为.stop()停止目前正在运行和排队的动画。但是如果你看看他的代码,你会发现回调函数本质上会产生一个不断排队新动画的循环。所以.stop()会停止当前的动画,但之后立即排队。关键是要打破回调循环,就像我在回答中一样。 – maxedison
这将做到这一点:http://jsfiddle.net/gpPcU/3/
我不确定你用你提到的If语句试过了什么,因为这不在你的小提琴中,但你可能在正确的路线上CK。下面是我的主要变化:
rotate()
回调中test()
:
function(){
if(!$('img').hasClass('stop')){
rotation()
}else{
$('img').rotate({angle:0});
}
}
按钮单击事件:
$(".btn").click(function(){
$("img").addClass('stop');
});
非常感谢先生 – jQuerybeast
这也可以做到。我比这更喜欢这个答案。 – maxedison
@ maxedison是的,我也一样。非常感谢 – jQuerybeast