2011-05-15 43 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

相关问题