2011-05-15 42 views
4
$comment.animate({width: 0}, {queue:false, duration:450 }, function() { 
//$comment.css({ 'display': 'block' }) 
$comment.hide(); 
}); 

它不顯示動畫。我想我已經把一個功能放錯了地方。jQuery:在完成動畫之後執行不起作用

+0

如果您.animate()''後隱藏它,那麼或許不應該顯示.. – Orbling 2011-05-15 10:45:55

+0

我找到了TJ Crowder的答案。我需要在function()之前加上「complete:」。 – user453089 2011-05-15 11:04:10

+0

@ user453089:是的,我只是在評論你的解釋,我會想象回調的意圖是讓它在動畫之後不顯示。 – Orbling 2011-05-15 11:06:28

回答

10

Per the docs,如果使用指定的選項,包括回調的選項,而不是分開:

$comment.animate({width: 0}, { 
    queue: false, 
    duration: 450, 
    complete: function() { 
     //$comment.css({ 'display': 'block' }) 
     $comment.hide(); 
    } 
}); 
+1

謝謝。有用! – user453089 2011-05-15 11:01:59

+0

已經有一段時間了,但有兩種方法可以在完成時運行一個函數:或者通過上面的選項或者使用這個簽名:'animate({options},speed,function(){});'' – peteroak 2015-03-20 22:02:15

相關問題