2010-06-24 10 views
7

Ich habe eine div, die ich mit remove() entfernen möchte. Ich möchte eine Animation vor/während der Entfernung von div anzeigen. Ich konnte die Animation nur beim Ausblenden des Divs anzeigen.Jquery - Remove() nach hide()

Wenn ich die Animation zeigen möchte, dann entferne(). Wie ist das gemacht ???

-Code bisher:

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

Antwort

24

Sie es in der Callback-Funktion für .hide() (jQuery UI .hide() reference), wie folgt aus:

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

Die Funktion am Ende läuft als Rückruf, Ausführung wenn die Animation fertig ist ... also wenn du willst :)

+1

nur als ein Update für diejenigen, die darauf stoßen, ist Live() in den neuesten jQuery-Versionen veraltet (ab 1.7) – oshikryu

4

Du könntest das auch überprüfen:

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