0

divを持っているので、その上にカーソルを合わせると、その中のdivがアニメートし、ホバーをやめると、元の位置にアニメーションで戻ります。しかし、非常にすばやく何度もカーソルを合わせると、アニメーションがキューに入れられ、終了するまで続行されます。例:divにすばやく10回カーソルを合わせると、そこに座っている間にdivが10回アニメーション化されます。これらのアニメーションをこのように並べたくありません。

これが私のスクリプトです:

$(".call1").hover(
    function(){
        $(".call-label").animate({"bottom": "+=50px"}, "slow");
    },
    function(){
        $(".call-label").animate({"bottom": "-=50px"}, "slow");    
    }
);​

私が抱えている問題を説明するためのjsfiddleがあります:http://jsfiddle.net/mqpbm/

また、.mouseoverと.mouseout、および.mouseenterと.mouseleaveも試しました。それらのすべてがこれを行います。

4

2 に答える 2

5

.stop()を使用する

$(".call1").hover(
    function(){
        $(".call-label").stop().animate({"bottom": "50px"}, "slow");
    },
    function(){
        $(".call-label").stop().animate({"bottom": "0px"}, "slow");    
    }
);​
于 2012-12-19T20:39:29.093 に答える
0

過去に hoverIntent プラグインを使用して、ホバーがユーザーの実際の意図により反応するようにしました。それはあなたの目的に役立つはずです。

hoverIntent プラグイン

于 2012-12-19T20:41:27.647 に答える