14
なぜコールバックで要素を削除できないのですか$.fadeout
?例えば数秒後に要素をフェードアウトして削除します
、
$(".background-blackout").fadeOut('slow', function(){
// Remove all the layer.
$(this).remove();
}));
alert($('.background-blackout').length);
// return 1
これは、コールバックなしで動作
$(".background-blackout").fadeOut('slow', function(){
}).remove();
alert($('.background-blackout').length);
// return 0.
しかし、要素が完全にフェードアウトする前にその要素を削除します。だから私は数秒後にremove()
と呼ぶべきだと思いますか?
remove()
でどうすればいいですか?
私はこれを試みたが、層が除去されることはありません、
$(".background-blackout").fadeOut('slow', function(){
});
setTimeout(function(){
$(".background-blackout").remove();
},2000);
alert($('.background-blackout').length);
// returns 1.
'fadeOut'が完了する前に' alert() 'が起こっていることに気づいたのですか? ;) – RightSaidFred