我有一个侧面菜单,单击按钮时会显示,更改其宽度后会显示。一切工作正常,尽管如此,我想让整个主体(菜单除外)看起来变暗,并且如果可能的话,防止点击菜单以外的任何内容。当菜单关闭时,一切都应该恢复正常。
JS的第二部分用于关闭菜单,当检测到菜单外部的单击时,它可以工作,但我想仅在菜单打开时才使其处于活动状态,例如:
if(menuOpen)
{
$(document).mouseup(function(e)
{
var container = $("mySidenav");
if (!container.is(e.target) && container.has(e.target).length === 0)
{
closeNav();
}
});
}
Run Code Online (Sandbox Code Playgroud)
if(menuOpen)
{
$(document).mouseup(function(e)
{
var container = $("mySidenav");
if (!container.is(e.target) && container.has(e.target).length === 0)
{
closeNav();
}
});
}
Run Code Online (Sandbox Code Playgroud)
var menuOpen = false;
function openNav() {
document.getElementById("myMenu").style.width = "50%";
menuOpen = true;
}
function closeNav() {
document.getElementById("myMenu").style.width = "0%";
menuOpen = false;
}
$(document).mouseup(function(e) {
var container = $("mySidenav");
if (!container.is(e.target) && container.has(e.target).length === 0) {
closeNav();
}
}); …Run Code Online (Sandbox Code Playgroud)