0

ハイ、

JQuery hover()に問題があります。

にカーソルを合わせると.sectionUpImage、アニメーションがトリガーされます。問題は、その領域を離れると、アニメーションがまだ実行されていて、終了するまで実行され、その後元の状態に戻ることです。

したがって、問題は、.sectionUpImageをホバリングしていないときに、アニメーションを停止して元の状態に戻すことです。

コード:

$(document).ready(function(){

    $('.sectionUpImage').hover(function(){

        $('.sectionUp').animate({"height": "+=314px"}, "slow");

    },function(){

        $('.sectionUp').animate({"height": "-=314px"}, "slow");

    });

});

それを適用する方法は?

ありがとうございました

4

2 に答える 2

3

stop(); を追加します。

 $('.sectionUp').stop().animate({"height": "+=314px"}, "slow");
于 2013-01-23T00:40:00.207 に答える
1

アダムはstop()、アニメーションが継続しないようにするために使用することにスポットを当てていました。ただし、相対的な高さを使用しているため、半分アニメーション化された要素の現在の高さに基づいて新しい高さを計算するという問題が発生します。それを修正する2つの方法:

1つ:絶対高さに切り替えます。その場合、現在のjQueryは完全に機能します。何かのようなもの:

$(document).ready(function(){
    $('.sectionUpImage').hover(function(){
        $('.sectionUp').animate({"height": "314px"}, "slow");
    },function(){
        $('.sectionUp').animate({"height": "0px"}, "slow");
    });
});

2:を使用しstop( false, true )ます。これにより、中断されたアニメーションが最終状態にジャンプしてから、新しいアニメーションが開始されます。これは少し耳障りに見えるかもしれませんが、少なくとも不正確な最終的な高さを防ぐことができます。

http://api.jquery.com/stop/

于 2013-01-24T00:44:25.587 に答える