0

他の誰かが書いたこの jQuery コードをデバッグしようとしていますが、あまり成功していません。

基本的に、これは表示されているよりも多くのアイテムを含むドロップダウン メニューであるため、メニューをスクロールするための上下の矢印があります。何が起こるかというと、下にスクロールしてからマウスアウトしてからもう一度マウスオーバーすると、メニューの一番下にとどまるのではなく、アニメーションが繰り返されます。

ここには詳細やコードがあまりないことはわかっていますが、非常に大きなアプリケーションの一部であり、すぐに飛び出す明らかな間違いがあることを望んでいました. 誰にもアイデアはありますか?前もって感謝します。

//Menu Scroll Up
            jQuery(this).children("div").children(".learn_more_menu_up").mouseover(function(){
                jQuery(this).siblings("ul").stop().animate({scrollTop: "-" + menuFullHeight}, menuScrollDuration);
                jQuery(this).mouseout(function(){
                    jQuery(this).siblings("ul").stop();
                });
            });

//Menu Scroll Down
            jQuery(this).children("div").children(".learn_more_menu_down").mouseover(function(){                    
                jQuery(this).siblings("ul").stop().animate({scrollTop: menuFullHeight}, menuScrollDuration);
                jQuery(this).mouseout(function(){
                    jQuery(this).siblings("ul").stop();
                });
            })
4

1 に答える 1

0

指定されたコードから、.learn_more_menu_down をマウスオーバーするたびに、scrollTop がアニメーション化されるため、毎回アニメーションが表示されるはずです。メニューが一番下にあるかどうかを確認する必要があります。そうである場合は何もしないでください。そうでない場合は、メニュー内の場所から一番下までアニメーション化する必要があります。

問題のあるページへのリンクや、簡単なマークアップのサンプルを提供していただけると助かります。

于 2012-06-11T18:17:29.717 に答える