Jquery在相对div激活时改变类



我有几个菜单触发器(hamburger)函数,用于打开和关闭侧边栏菜单,并在此过程中将其形状从三行变为X(标准),这是一个名为active..

的类的形式。

代码如下....

$(document).ready(function () {
    var $navToggle = $('.nav-toggle');
    $(".navbtn").click(function () {
        if($navToggle.hasClass('active')){
            $('#menu').multilevelpushmenu('collapse');
            $navToggle.removeClass('active');
            $(this).addClass('active');
        }
        else{
            $('#menu').multilevelpushmenu('expand');
            $navToggle.addClass('active');
            $(this).removeClass('active');
        }
    });
    //ALLOWS CLICK ON THE BODY TO CLOSE THE MENU//
    $(":not(#menu)").click(function(){
        $( '#menu' ).multilevelpushmenu( 'collapse' );
        $('.nav-toggle').removeClass('active');
           $(this).addClass('active');   
    });
});

我似乎无法让"允许点击主体"函数工作,可能是因为他们与上面的其他两个函数混淆了…谁能帮我一下?

假设您的body内容包装了某种类型的容器。你可以把点击功能添加到你的容器中。

的例子。

$(".container").click(function(){
        $( '#menu' ).multilevelpushmenu( 'collapse' );
        $('.nav-toggle').removeClass('active');
           $(this).addClass('active');   
    });

这不是我的答案,但我希望之前评论的人获得荣誉,除了投票给他之外,我想确保这是官方帮助他人…他确实有答案,事情是这样的....

$('body').on('click', function(e){
 if( !$(this).closest('#menu').length) {
    $('#menu').multilevelpushmenu('collapse');
        event.stopPropagation();        
            };

});

最新更新