2011-01-05 4 views
7

Mi piacerebbe avere un jquery fadeOut() riavvio mentre è nel mezzo della dissolvenza.riavviare jquery.fadeOut() mentre è in dissolvenza

Ho la seguente dichiarazione

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

Quando un utente esegue un'azione, questa affermazione viene eseguito. per i 2 secondi in cui è in esecuzione, l'utente può eseguire un'altra azione che chiama questa istruzione.

Al momento, la dissolvenza deve essere completata prima che l'animazione di fadeout venga riprodotta di nuovo.

C'è un modo per far ripartire il fadeOut dall'inizio?

risposta

5

Utilizzare .stop() prima di chiamare .fadeOut().

Opzionalmente, utilizzare .stop(true, true) se si desidera che inizi dai valori di destinazione.

+0

grazie: D ho dovuto fare una leggera modifica. Ho dovuto chiamare $ ('# status'). Stop (true, true); PRIMA di eseguire l'istruzione di stato –

1

È possibile chiamare stop prima di chiamare fadeOut. Questo riavvierà l'animazione fadeOut. Altrimenti, il secondo fadeOut verrà messo in coda dopo il primo.

1

Usa

jQuery.stop().fadeOut() 

per evitare la fila alla Animazione fadeOut.

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

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

+0

thx chetan funziona per me :) –

0

E 'strano, ma nel mio caso era meglio

//onclick 
    .stop(true, true).fadeIn().stop(true, true); //reset: stop old fadeOut and make visible again 
    .fadeOut(); //again 
Problemi correlati