0

私のメニューはホバーイベントで機能します。サブメニューにカーソルを合わせると、独自の子メニューが開きますが、他のサブメニューにカーソルを合わせると、前のサブメニューの子が自動的に閉じます。私の動作中のjsfiddleを確認してください:

http://jsfiddle.net/samia/3N7BG/

4

1 に答える 1

0

次のようなことを試すことができます:

$(".topmenu .sub-menu .parent a").mouseover(function() {
        if($(this).parent().attr('id') != $("li .open").attr('id') 
            && $(this).parent().has("ul").length > 0) {
            if($("li .open").length > 0) {
                $("li .open").children("ul").slideToggle(1000);
                $("li .open").toggleClass("open");
            }
            $(this).parent().children("ul").slideToggle(200);
            $(this).parent().toggleClass("open");
        }
});

このアプローチでは、メニューのslideUp(例:デザイン)がメニューのslideDown(例:Development)よりもかなり長い場合、「Development」がslideUpする可能性がある状況に遭遇することを覚えておいてください. 「デザイン」のslideUp。これをテストするには、「デザイン」メニューに別の項目を追加してください。

アイテムの現在のリストでは、上記の実装は正常に機能するはずです。

于 2012-10-11T07:59:56.870 に答える