2010-06-24 100 views
7

我有一个div,我想删除使用remove()。我想在删除div前/之前显示动画。我只能在隐藏div时显示动画。jquery - 删除()后隐藏()

如果我想显示动画,请执行remove()。这是如何完成的?

到目前为止的代码:

//Delete Button - delete from cart 
$('.ui-icon-trash').live('click',function() { 
    $(this).closest('li').hide("puff", {}, 1000) 
}); 

回答

24

做到在回调函数.hide()(jQuery UI的.hide() reference),像这样:

$('.ui-icon-trash').live('click', function() { 
    $(this).closest('li').hide("puff", {}, 1000, function() { 
    $(this).remove(); 
    }); 
}); 

末的功能运行作为一个回调,执行当动画完成时...所以当你想要:)

+1

就像对于遇到这个问题的用户的更新一样,live()在最新的jQuery版本中已被弃用(截至1.7版本) – oshikryu 2013-05-20 14:55:42

4

你也可以检查这个:

$(this).hide("puff").delay(10).queue(function(){$(this).remove();});