2010-06-24 13 views
7

J'ai un div que je veux supprimer en utilisant remove(). Je veux montrer une animation avant/pendant le retrait de div. J'ai seulement pu montrer l'animation en cachant la div.Jquery - Remove() après hide()

Si je veux afficher l'animation, alors effectuez remove(). Comment cela est-il fait?

code jusqu'à présent:

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

Répondre

24

Est-ce que dans la fonction de rappel pour .hide() (jQuery UI .hide() reference), comme ceci:

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

La fonction à la fin fonctionne comme un rappel, l'exécution lorsque l'animation est terminée ... alors quand vous voulez :)

+1

juste comme une mise à jour pour ceux qui rencontrent cela, live() est obsolète dans les versions les plus récentes de jQuery (à partir de 1.7) – oshikryu

4

Vous pouvez également vérifier ceci:

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