2010-06-24 10 views
7

Tengo un div que quiero eliminar con remove(). Quiero mostrar una animación antes/durante la eliminación de div. Solo he podido mostrar la animación al ocultar el div.Jquery - Eliminar() después de ocultar()

Si quiero mostrar la animación, entonces elimino(). ¿Cómo se hace esto?

Código hasta el momento:

//Delete Button - delete from cart 
$('.ui-icon-trash').live('click',function() { 
    $(this).closest('li').hide("puff", {}, 1000) 
}); 

Respuesta

24

hacerlo en la función de devolución de llamada para .hide() (jQuery UI .hide() reference), así:

$('.ui-icon-trash').live('click', function() { 
    $(this).closest('li').hide("puff", {}, 1000, function() { 
    $(this).remove(); 
    }); 
}); 

La función al final se ejecuta como una devolución de llamada, la ejecución cuando la animación está hecha ... así que cuando quieras :)

+1

solo como una actualización para aquellos que se encuentran con esto, live() está en desuso en las últimas versiones de jQuery (a partir de 1.7) – oshikryu

4

También puedes consultar esto:

$(this).hide("puff").delay(10).queue(function(){$(this).remove();}); 
Cuestiones relacionadas