jQuery mmenu - 打开子菜单时如何关闭所有其他子菜单?

问题描述 投票:0回答:2

我们正在使用 mmenu (v4.7.5),顺便说一句,它与 jQuery v1.11.1 一起非常棒。

我用这些选项/配置初始化它:

IwAG.$('nav#menu').mmenu({
    "slidingSubmenus": false
}, {
    clone: true
});

打开子菜单时,我希望所有其他打开的子菜单自动关闭。

javascript jquery mmenu
2个回答
1
投票

我找到了解决方案;)

$('nav#menu ul.first_level').on("open.mm", function (e) {
    var parent = IwAG.$(e.target).closest('li');
    var siblings = parent.siblings('li.mm-opened');
    if (siblings) {
        siblings.find('.mm-opened').removeClass('mm-opened');
        siblings.removeClass('mm-opened');
    }
});

0
投票
<script>
        jQuery(document).ready(function(){
            $('.mm-navbar__btn').click(function(){
                
        var myMenu = $(this).closest('.mm-listitem--vertical');
            $('.mm-listitem--vertical').not(myMenu).removeClass('mm-listitem--opened');
            })

        $('.mm-wrapper__blocker').click(function(){  
            var myMenu = $(this).closest('.mm-listitem--vertical');
            $('.mm-listitem--vertical').not(myMenu).removeClass('mm-listitem--opened');
            })          
        })
</script>

.mm-navbar__btn 关闭菜单按钮

.mm-wrapper__blocker 点击网站的深色背景

© www.soinside.com 2019 - 2024. All rights reserved.