¿Por qué el elemento no se puede eliminar en la devolución de llamada de $.fadeout
?fadeout y eliminar un elemento después de unos segundos
Por ejemplo,
$(".background-blackout").fadeOut('slow', function(){
// Remove all the layer.
$(this).remove();
}));
alert($('.background-blackout').length);
// return 1
Esto funciona sin la devolución de llamada,
$(".background-blackout").fadeOut('slow', function(){
}).remove();
alert($('.background-blackout').length);
// return 0.
Pero remueve el elemento antes de que el elemento se ha desvanecido completamente fuera. ¿Entonces creo que debería llamar al remove()
después de unos segundos?
Entonces, ¿cómo puedo hacer eso con remove()
?
he intentado con esto, pero la capa no se eliminará,
$(".background-blackout").fadeOut('slow', function(){
});
setTimeout(function(){
$(".background-blackout").remove();
},2000);
alert($('.background-blackout').length);
// returns 1.
¿Notó por casualidad que su 'alerta()' ocurre antes de que 'fadeOut' se complete? ;) – RightSaidFred