1

jQuery を使用してドロップダウン メニューを作成しました。そのため、ボタンにカーソルを合わせると、メニューが下にスライドします。ここで、マウスをメニューの外に移動して、スライドする前に元に戻すと(メニューには多くの項目があるため、マウスをメニューに戻すのに十分な時間があります)、ドロップダウンメニューの上でチェーンが開始されますslideDown() および slideUp() 関数であり、メニューのマウスを移動するか、ボタンに戻るまで停止しません。以下は私のjQueryコードです:

$(function() {
    $('#slideshow1').cycle();  

    $('#projects').mouseenter(function(){
        $('#dd_Projects').slideDown();
    });  

    $('#projects').mouseleave(function(){
        $('#dd_Projects').slideUp();
    });
});

私はオンラインで調べていて、すでに e.stopPropagation() を試しましたが、うまくいきません。

これは Firefox でのみ発生します。IE7、IE8、Safari、Chrome ではすべて正常に動作しますが、他のバージョンの Firefox については不明です。

お知らせ下さい

4

1 に答える 1

1

jQuery の stop 関数は、あなたが求めていることを実行する必要があります。trueアニメーション キューをクリアするには、最初のパラメーターとして渡します。おそらくアニメーションの最後にジャンプしたくないので、2 番目のパラメーターとして true を渡さないでください。

次のようなものです:

$('#dd_Projects').stop(true).slideDown('fast', function(){
    $(this).css('height', '');
});

$('#dd_Projects').stop(true).slideUp('fast', function(){
    $(this).css('height', '');
});

現在のスライドの代わりにこのトリックを行う必要があります。

于 2011-06-23T14:33:39.877 に答える