2011-08-13 12 views
2

Here例があります:.remove()は.delay()を無視しますか?

<div id='example'> 
    ciao 
</div> 

$('#example').fadeOut(600).delay(600).remove(); 

私はそれを削除するよりも、要素をフェードアウトしたいのですが、その.remove().delay()を無視(そう要素がすぐに削除されます)のように見えます。

どうすればこの問題を解決できますか?

答えて

6

.removeはアニメーション化されていないため、.delayは効果がありません。

あなたはアニメーションが終了したときに実行されます機能を渡して行うことができます(コールバックの引数は - http://api.jquery.com/fadeOut/を参照してください):

$('#example').fadeOut(600, function() { 
    $(this).remove(); 
}); 

http://jsfiddle.net/pimvdb/Sny7P/1/

4

がコールバックの代わりに

$('#example').fadeOut(600, function() { $(this).remove(); }); 
を指定します
3

遅延を使用する代わりに、fadeOutにコールバックを渡します。

$('#example').fadeOut(600, function() { 
    $("#example").remove(); 
}); 
関連する問題