2011-01-19 12 views
1

フェードインとフェードアウトを何度も繰り返すと、それは繰り返し続けます。私がそれをホバリングするのを止めるときでさえ。どうすればこれをやめることができますか?あなたは.stop()fadeToggle()がビルドするのを止める

$(this).find("h3").stop(true, true).fadeToggle(800); 

パラメータを呼び出す必要が

$(".featured").hover(function(){ 
    $(this).find("h3").fadeToggle(800); 
    }); 

答えて

5

は示していますclearQueue、jumpToEnd
は、これはほとんどすぐに現在のアニメーションを停止します。よりスムーズな停止を持っているために、あなたは私が考えることができるもう一つの方法は、要素がアニメ化されているかどうかをチェックすることです.stop(true, false)

呼び出す必要があります:

$(".featured").hover(function(){ 
    var $h3 = $(this).find('h3'); 

    if(!$h3.is(':animated')) 
     $h3.fadeToggle(800); 
}); 

参考:.stop():animated selector

+0

一つの質問、どうしたの!記号意味ですか?ありがとう – nowayyy

+1

@トリッキー:それは論理 'NOT'です。したがって、 '.fadeToggle()'は要素が現在アニメーション化されていない場合にのみ適用されます。 – jAndy

関連する問題