jQuery slideUp().remove() doesn't seem to show the slideUp animation before remove occurs

JavascriptJqueryAnimation

Javascript Problem Overview


I have this line of JavaScript and the behavior I am seeing is that the selectedLi instantly disappears without "sliding up". This is not the behavior that I expected.

What should I be doing so that the selectedLi slides up before it is removed?

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

Javascript Solutions


Solution 1 - Javascript

Might be able to fix it by putting the call to remove in a callback arg to slideUp?

e.g

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

Solution 2 - Javascript

You need to be more explicit: rather than saying "this" (which I agree should work), you should do this:

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

Solution 3 - Javascript

The simplest way is calling the "remove()" function inside slideUp as a parameter like others have said, as this example:

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

It is a must to call it inside the anonymous function() to prevent remove() to be executed before the slideUp has ended. Another equal way is to use the jQuery function "promise()". Better for those who like self-explanatory code, like me ;)

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

Solution 4 - Javascript

Using promises you can also wait for multiple animations to get finished, e.g.:

selectedLi.slideUp({duration: 5000, queue: false})
.fadeOut({duration: 3000, queue: false})
.promise().done(function() {
    selectedLi.remove()
})

Solution 5 - Javascript

selectedLi.slideUp(200, this.remove);

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionEric SchoonoverView Question on Stackoverflow
Solution 1 - JavascriptseanbView Answer on Stackoverflow
Solution 2 - JavascriptBlakeView Answer on Stackoverflow
Solution 3 - JavascriptxaviqvView Answer on Stackoverflow
Solution 4 - JavascriptfamousgarkinView Answer on Stackoverflow
Solution 5 - JavascriptTomView Answer on Stackoverflow