我有几个菜单触发器(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();
};
});