2011-06-28 17 views
1

私はこのコードon my siteありますjQueryの停止は

$(".name").hover(
    function() { $(".kyle_hover").stop(true, true).fadeIn('slow'); }, 
    function() { $(".kyle_hover").stop(true, true).fadeOut('slow'); } 
); 

をしかし、私は、彼らが隠されて推移して去ったとき、期待通りに消えたときに表示され、互いの上に約4これらのを持っていますが、 .stopメソッドは私がexepct何をしていません。

タイトルをすばやく移動すると、すべてが上に積み重ねられます(HTMLに組み込まれているように)が、アニメーションを完了してから次のアニメーションを開始したいと思います。

Quick fiddle

ありがとうございました。

答えて

1

はい、誤解されているようです。 stop()は、すべてのアニメーションのキューをクリアしません。呼び出された正確な要素で進行中のアニメーションを停止するだけです。したがって、$(".kyle_hover").stop()を呼び出すと、この特定の要素のアニメーションは停止しますが、$("#gallery")にカーソルを合わせると、そのアニメーションは個別にトリガーされます。

具体的なケースでは、フェードイン/アウト要素を絶対に配置して、上に重なり合わないようにします。フェードイン/アウトははるかに楽しくなり、jQueryコードは変更を必要としません。

+0

ありがとう、私は要素を配置することはなかった! :D – Kyle

関連する問題