所以我有一些菜单触发器(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');
});
});
我似乎无法获得"允许点击身体"工作的功能,可能是因为他们与上面的其他两个功能混淆了......有人可以帮助我吗?
答案 0 :(得分:0)
这不是我的答案,但我希望早些时候评论的人能够获得信用而不是投票给我,我想确保正式帮助他人......他确实得到了答案,这就是它的方式....
$('body').on('click', function(e){
if( !$(this).closest('#menu').length) {
$('#menu').multilevelpushmenu('collapse');
event.stopPropagation();
};
});
答案 1 :(得分:0)
假设您的身体内容包裹了某种类型的容器。您只需将click函数添加到容器中即可。
实施例。
$(".container").click(function(){
$( '#menu' ).multilevelpushmenu( 'collapse' );
$('.nav-toggle').removeClass('active');
$(this).addClass('active');
});