jquery序列fadeOut然后删除

我尝试$('somediv').fadeOut.remove(); 但它只是删除它,砰……它不等待漂亮的fadeOut,然后删除

为什么..如何尊重淡出,然后删除..

使用回调:

 $('somediv').fadeOut( function() { $(this).remove(); }); 

在动画完成之前,您传递给fadeOut() (docs)的回调函数中的代码将不会执行。

示例: http //jsfiddle.net/p2LWE/

另一种方法是queue() (docs) remove() (docs) ,但我认为回调更好。

 $('somediv').fadeOut() .queue(function(nxt) { $(this).remove(); nxt(); }); 

这是简单的方法,

 $('#somediv').fadeOut(300,function(){ $(this).remove(); })}; 

要么

 $('#somediv').fadeOut("slow",function(){ $(this).remove(); })}; 

使用jQuery链接,如果有基于时间的组件,链的一部分不会等待其他部分结束。 因此,当你想要在另一件事完成时发生某些事情时,你需要使用回调。 在这种情况下,您可以使用参数调用fadeOut() ,以便在完成时运行该函数。 像这样:

$('#somediv').fadeOut(function(){ $(this).remove(); })};

因此,当fadeOut()完成时(并且你可以添加一个前导参数来指示所需的时间,以毫秒或’快’,’正常’或’慢’),它将调用该函数, remove()