我有一個圖像,連續旋轉90度左右,我試圖阻止它,但我無法弄清楚如何。如何停止jQuery循環動畫?
我試圖把這個函數放在If
聲明中,所以我可以調用function = false;
或true
但它不起作用。
這裏是一個小提琴:http://jsfiddle.net/gpPcU/
我有一個圖像,連續旋轉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