2012-04-12 11 views
0

に固定の高さを与えることから、停止()を防ぐI次のコード行がありますjQueryのは、要素

$(".product-list .product").hover(function() { 
    $(this).find('.product-description').stop().slideDown("slow"); 
}, function() { 
    $(this).find('.product-description').stop().slideUp("slow"); 
}) 

問題であり、私は十分に速く移動し、再度要素を置く、.productを - 記述は古いイベントの高さにこだわります。

  1. マウスオーバー:例えば

    素子 - >アニメーション - >完全な高さ:200pxの

  2. mouseleave:エレメント - >アニメーションが停止 - >アニメーション - >高さ:0(デフォルトの高さを今:100ピクセル)
  3. マウスオーバー:要素 - >アニメーション化 - >フル高さ:100pxに(しかし、200pxのでなければなりません)

そして、はい、私はすでに、通常の高さを取得することにより、試してみました - しかし、問題は、私はclearfix何jQueryの缶を使用することであり、本当のものリ

+0

+1良い質問のためです。 – undefined

答えて

1

は以下のようにそれを使用してみてください何かアドバイスのため

おかげで、

$(".product-list .product").hover(function() { 
    $(this).find('.product-description').stop(true, true).slideDown("slow"); 
}, function() { 
    $(this).find('.product-description').stop(true, true).slideUp("slow"); 
}) 

.stop([clearQueue] [、jumpToEnd])かどうかを示す

clearQueueAブールキューに入れられたアニメーションを削除するには としてください。デフォルトはfalseです。

jumpToEndAすぐに現在の アニメーションを完了するかどうかを示すブール値。デフォルトはfalseです。

+0

ありがとうございます - 私はすでにその解決策を見つけましたが、私はそのように好きではありません:) – lumio

+0

@Lumioそして、なぜあなたはそれが好きではないかと尋ねますか?それはアニメーションキューをクリアする正しい方法のように私に見える –

+0

はい、それは解決策になりますが、私はそれがどのようにジャンプするのが好きではありません。 – lumio