2010-08-10 57 views
3

我需要停止動畫並立即完成所有未決的動畫。
stop不起作用:
可以說我有動畫,通過100px移動元素是0px我用停止時,它只有50px移動。結果將是50px上的一個元素。我想要的結果是當我中斷動畫時,即使元素位於50px,它也會立即跳轉到100px
我該怎麼做?即時完成jQuery中的動畫隊列

回答

1

$.fn.stop()可以選擇清除隊列並跳轉到最後。

就做這樣的事情:發現$('#foo').stop(true, true);

+0

當我有多個排隊動畫它不工作,它僅僅跳到第一個結束,並丟棄其餘部分。 – Dani 2010-08-10 15:43:47

+1

那是因爲您的選擇器太特殊。假設頁面上有3個div,#div-1,#div-2,#div-3。 #div-1和#div-2在動畫的中間,當你想阻止它們時,你可以爲#div-3或其他任何東西設置動畫。要停止排隊的動畫,您應該這樣做: $('#div-1,#div-2')。stop(true,true); 要停止頁面上的所有動畫,您可以嘗試: $('*')。stop(true,true); – m4olivei 2010-10-08 16:28:32

0

手動指定最後一個狀態,不要懶惰。我確信你能做到這一點:)

$('#foo').stop(true, true); 
$('#foo').css({x, '100px'});