gpt4 book ai didi

javascript - 单击关闭菜单/div 关闭

转载 作者:行者123 更新时间:2023-11-30 08:38:16 25 4
gpt4 key购买 nike

当我点击页面上除菜单内以外的任何地方时,我一直试图让我的菜单关闭。

当在菜单中单击链接时,我通过为它提供与菜单按钮相同的 onclick 功能设法实现了这一点,但我没有成功地单击菜单关闭它。

http://codepen.io/anon/pen/LEvdmW

JS

function setVisibility(id) {
var targetButton;
switch( id ) {
case "layer":
targetButton = "button";
break;
}
if (document.getElementById(targetButton).value == 'Close') {
document.getElementById(targetButton).innerHTML = 'Open';
document.getElementById(targetButton).value = 'Open';
document.getElementById(id).style.display = 'none';
} else {
document.getElementById(targetButton).innerHTML = 'Close';
document.getElementById(targetButton).value = 'Close';
document.getElementById(id).style.display = 'inline';
}
}

HTML

<button name="type" id="button" onclick="setVisibility('layer')">Open</button>
<div id="layer"><a onclick="setVisibility('layer')"> Hello</div>

CSS

#layer {
position: absolute;
left: 8px;
top: 50px;
background-color: #989898;
width: 280px;
height: 100px;
padding: 10px;
color: black;
display: none;
}


button { border:none; background:#989898; color:#fff; padding:10px; outline:none; cursor:pointer;

}

最佳答案

可以通过下面的代码实现。

$(document).mouseup(function (e)
{
var container = $("YOUR CONTAINER SELECTOR");

if (!container.is(e.target) // if the target of the click isn't the container...
&& container.has(e.target).length === 0) // ... nor a descendant of the container
{
container.hide();
}
});

工作 fiddle :http://jsfiddle.net/LCB5W/153/

更新 fiddle :http://jsfiddle.net/LCB5W/154/

关于javascript - 单击关闭菜单/div 关闭,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29412618/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com