为什么在回调中无法删除元素$.fadeout?
例如,
$(".background-blackout").fadeOut('slow', function(){
// Remove all the layer.
$(this).remove();
}));
alert($('.background-blackout').length);
// return 1
Run Code Online (Sandbox Code Playgroud)
这没有回调,
$(".background-blackout").fadeOut('slow', function(){
}).remove();
alert($('.background-blackout').length);
// return 0.
Run Code Online (Sandbox Code Playgroud)
但它在元素完全淡出之前删除了元素.所以我想我应该remove()在几秒后打电话给你?
那我怎么能这样做remove()呢?
我试过这个,但不会删除图层,
$(".background-blackout").fadeOut('slow', function(){
});
setTimeout(function(){
$(".background-blackout").remove();
},2000);
alert($('.background-blackout').length);
// returns 1.
Run Code Online (Sandbox Code Playgroud)
Pie*_*rre 37
你得到它几乎是正确的,但是你需要在回调中测试元素的存在,如下所示:
$(".background-blackout").fadeOut('slow', function(){
$(this).remove();
// alert( $('.background-blackout').length );
console.log( $('.background-blackout').length );
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
15981 次 |
| 最近记录: |