1

チュートリアルに従って、JQueryを使用して簡単なドロップダウンメニューを作成しました。リンク: http ://wabism.com/development/jquerydropdown/

そのjQueryコードは次のとおりです。

$('body').ready(function() {

                // Add the 'hover' event listener to our drop down class
        $('.dropdown').hover(function() {
                        // When the event is triggered, grab the current element 'this' and
                        // find it's children '.sub_navigation' and display/hide them
            $(this).find('.sub_navigation').slideToggle(); 
        });
    });

ドロップダウンは1つのエラーで正常に機能します。メニュー項目を3回または4回すばやくロールオーバーして出力すると、3回または4回のslidetoggle()がすべて実行されます。どうすればこの問題を克服できますか?

4

1 に答える 1

4

.stop()アニメーションの前にメソッドを使用します。

あなたが説明したように、保留中のアニメーションを停止することを明示的に指定しない限り、jQuery のアニメーションはキューに入れられ、すべてが実行されます。関数を使用してこれを行い.stop()ます。あなたの場合、あなたは書くべきです:

$(this)
.find('.sub_navigation')
.stop()
.slideToggle();

より詳細なレベルの制御を提供するいくつかのパラメーターもあります。ここを参照してください。

于 2013-02-04T05:29:30.160 に答える