2012-03-04 15 views
0

私はバスケット(#cart_block_top)にホバリングしていて、アニメーションの終わりが突然バスケットから取り除かれるのを待たずに、アニメーションは急に急に終了します。上にスライドします。ここ はコードです:誰が助けhttp://layot.prestatrend.com/jQuery slideToggleの振る舞い

$('#cart_block_top').hover(function() { 
    $("#cart_block_slide_content").stop(false, true).slideToggle('slow'); 
}); 

そして、ここでは、リンクのですか?

答えて

0

また、アニメーションが完了したときに知っている、そして進行中のアニメーションが存在しない場合にのみ、

$("#cart_block_slide_content").stop(false, true).slideToggle('slow'); 

を呼び出すためにcallbackを使用することができます。

Quoting Jquery

.slideToggleアニメーションを実行する期間を決定する([期間] [コールバック])

durationA文字列または数値。

アニメーションが完了すると呼び出すcallbackA関数。例えば

:それはここにあなたが偽持って、キューをクリアする必要がある場合

var isAnimationCompleted = true; 

function onAnimationCompleted(){ 
    isAnimationCompleted = true; 
} 

$('#1').hover(function(){ 
    if (isAnimationCompleted){ 
     $("#div").stop(false, true).slideToggle('slow',onAnimationCompleted); 
     isAnimationCompleted = false; 
    } 
}); 

JSFiddle live example

+0

これは私が正確にしたいのではありません... –

0

.stop()は最初、2つのブール値をとります。 2つ目は、あなたが真であると設定していることですが、機能を停止すると、アニメーションの最後にジャンプします。これを試してください、完全には動作しませんでしたが、よりよく見えます。

$("#cart_block_slide_content").stop().slideToggle(1000); 
+0

動作しません.... –