2011-01-05 6 views
7

フェードアウトの途中でjquery fadeOut()を再起動したいと思います。フェードアウト中にjquery.fadeOut()を再開

は、私は次の文、ユーザーがアクションを実行

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

を持って、このステートメントが実行されます。 実行中の2秒間、ユーザーはこのステートメントを呼び出す別のアクションを実行できます。

fadeOutアニメーションが再び再生される前に、fadeOutが完了する必要があります。

fadeOutを最初からやり直すだけの方法はありますか?

答えて

5

を使用してから.fadeOut()を呼び出してください。

宛先値から開始する場合は、オプションで.stop(true, true)を使用します。

+0

おかげでした:D iは、若干の修正をしなければなりませんでした。私は$( '#status')を呼び出さなければならなかった。stop(true、true);ステータスステートメントを実行する前に –

1

fadeOutを呼び出す前にstopに電話をかけることができます。これでfadeOutアニメーションが再開します。それ以外の場合は、2番目のfadeOutは最初のfadeOutの後にキューイングされます。

1

フェードアウトアニメーションをキューイング防ぐために使用

jQuery.stop().fadeOut() 

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

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

+0

thx chetanそれは私のために働く:) –

0

それは奇妙だが、私の場合には良い方法は

//onclick 
    .stop(true, true).fadeIn().stop(true, true); //reset: stop old fadeOut and make visible again 
    .fadeOut(); //again 
関連する問題