89 votes

jQuery slideUp().remove() ne semblent pas montrer de la slideUp de l'animation avant de se retirer

J'ai cette ligne de code JavaScript et le comportement que je vois c'est que l' selectedLi disparaît immédiatement sans de "glissement". Ce n'est pas le comportement que j'attendais.

Que dois-je faire pour que l' selectedLi glisse vers le haut avant de la retirer?

selectedLi.slideUp("normal").remove();

188voto

seanb Points 5267

Peut-être en mesure de le réparer en mettant l'appel à supprimer dans un rappel arg à slideUp?

e.g

selectedLi.slideUp("normal", function() { $(this).remove(); } );

15voto

Blake Points 51

Vous avez besoin d'être plus explicite: plutôt que de dire "ce" (dont je suis d'accord devrait fonctionner), vous devriez faire ceci:

$("#yourdiv").slideUp(1000, function() {
    $("#yourdiv").remove();
});

6voto

xaviqv Points 1

La façon la plus simple est d'appeler le "remove()" fonction à l'intérieur de slideUp comme un paramètre comme d'autres l'ont dit, comme cet exemple:

$("#yourdiv").slideUp("normal", function() {
    $(this).remove();
});

Il est un must pour appeler à l'intérieur de la fonction anonyme() pour prévenir les supprimer() pour être exécuté avant que le slideUp a pris fin. Une autre l'égalité est d'utiliser la fonction jQuery "promesse()". Mieux, pour ceux qui aiment l'auto-explicatif code, comme moi ;)

$("#yourdiv").slideUp("normal").promise().done(function() {
    $(this).remove();
});

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X