2

mouseenter と mouseleave を使用してアニメーションを実行しています。問題は、マウスを div ですばやく上下に動かすと、アニメーションがおかしくなり、停止せずに繰り返すようになることです。どうすればそれを修正できますか? ?

これは私のコードです:

    /* Footer Hover */
    function footerhover(){
        var footer = $('#footer')
        footer.bind({
            'mouseenter' : function(){
                footer_animate(200);
                footer_bottom(145);
            },
            'mouseleave' : function(){
                footer_bottom(0);
                footer_animate(40);
            }
        })
    }
    function footer_animate(h){
        $('#footer').animate({
            height: h
        }, 50 );
    }
    function footer_bottom(b){
        $('#footer').animate({
            bottom: b
        }, 300 );
    }
4

1 に答える 1

1

新しいアニメーションを開始する前に、jQuery の stop 関数を使用して現在のアニメーションを停止することをお勧めします。したがって、フッターをアニメーション化するたびに、最初に停止します。

$('#footer').stop().animate({});
于 2013-02-26T21:23:57.010 に答える