0

私が取り組んでいるこの小さなメニューがあります:http://jsfiddle.net/6a3eZ/25/

問題は、スライドして開く「MISC」および「MISC2」メニューにあります。1 つが開いたら、もう 1 つを閉じる必要があります。以下に貼り付けた「トグル」コードは、最初の 2 回のクリックでは正常に機能しますが、メニュー項目をもう一度アクティブにするために 1 回ではなく 2 回のクリックが必要になります。ワンクリックでそれを続ける方法の手がかりはありますか?

何らかの理由で、タッチ デバイスでもメニューを閉じることができません。

コードは「ホバー」でどこでも機能しますが、実際にはクリックでアクティブ化する必要があります。

ここに私が持っているものがあります:

function mainmenu(){

    $('.menu ul').css({display: "none"});

    $('.menu li.sub').toggle(function(){
        $(this).siblings('li').find('ul').slideUp(200);
        $(this).find('ul:first').css({visibility: "visible",display: "none"}).slideDown(200);
    },function(){
        $(this).find('ul:first').slideUp(200);
    });

    $('.sub-menu li a').click(function(e) {
        e.stopPropagation();
    }); 

};

$(document).ready(function(){                  
    mainmenu();
});
4

2 に答える 2

1

テストされていませんが、次のようなことを試してください:

$(document).ready(function(){                  
    $('.menu ul').hide();

    $('.menu li.sub').click(function() {
        $(this).find('ul:first').slideToggle(200)
               .end().siblings('li').find('ul').slideUp(200);
    });
});
于 2013-05-20T22:41:04.047 に答える