Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

restart jquery.fadeOut() while it's fading out

Tags:

jquery

I'd like to have a jquery fadeOut() restart whilst it's in the middle of fading out.

I have the following statement

$('#status').html('<div style="padding:5px; margin:0 0 0 200px;"><img src="/images/done.png" /> ' + message + '</div>').show().fadeOut(2000);

When a user performs an action, this statement gets run. for the 2 seconds it's running, the user can perform another action which calls this statement.

At the moment, the fadeOut has to complete before the fadeOut animation will play again.

Is there a way to make the fadeOut simply restart from the beginning again?

like image 933
sf. Avatar asked Jan 05 '11 15:01

sf.


4 Answers

Use .stop() before calling .fadeOut().

Optionally, use .stop(true, true) if you want it to start from the destination values.

like image 127
wildpeaks Avatar answered Nov 11 '22 18:11

wildpeaks


You can call stop before calling fadeOut. That will restart the fadeOut animation. Otherwise, the second fadeOut will be queued after the first one.

like image 1
Antoine Aubry Avatar answered Nov 11 '22 17:11

Antoine Aubry


How do you cancel a jQuery fadeOut() once it has began?

In short, call the .stop() method.

like image 1
simshaun Avatar answered Nov 11 '22 16:11

simshaun


Use

jQuery.stop().fadeOut() 

to prevent queueing up the fadeOut Animation.

.stop() can be used to prevent queueing any jQuery Animation 

http://api.jquery.com/stop/

like image 1
cgupta Avatar answered Nov 11 '22 17:11

cgupta