【发布时间】:2020-08-13 10:16:15
【问题描述】:
我到处寻找并尝试了几件事,但我无法找到一种方法来使您单击链接时导航不关闭。在这种状态下,当我单击任何位置时它会关闭。
我知道这是因为导航是固定位置,所以它在文档流程之外,这就是为什么点击链接与点击任何地方一样。我能做什么?
有人有想法吗?
非常感谢!
JS:
<script>
window.addEventListener('mouseup', function(event) {
var nav = $("#mySidenav");
var navlinks = $("[id^='navLink']");
if(event.target != nav && event.target != navlinks){
closeNav();
};
})
</script>
CSS:
.sidenav {
height: 100%;
width: 25rem;
position: fixed;
z-index: 5;
left: -27rem;
background: linear-gradient(15deg, #e2af40a9, rgba(51, 116, 116,
0.589)30%, rgb(51, 116, 116));
overflow: hidden;
padding-top: 1rem;
transition: all ease-in-out 0.4s;
}
HTML:
<div id="mySidenav" class="sidenav">
<img id="logo" src="..." alt="...">
<a href="javascript:void(0)" class="text-decoration-none closebtn"
onclick="closeNav()">×</a>
<a id="navLink1" class="animNav item text-decoration-none align-bottom"
href="#">about</a>
<a id="navLink2" class="animNav item text-decoration-none align-bottom"
href="#">another link</a>
<a id="navLink3" class="animNav item text-decoration-none align-bottom"
href="#">another link</a>
<a id="navLink4" class="animNav item text-decoration-none align-bottom"
href="#">another link</a>
<a id="navLink5" class="animNav item text-decoration-none align-bottom"
href="#">another link</a>
</div>
<button type="button" class="navbar-dark btn btn-styleNav navbar-toggler" onclick="openNav()" ☰>
<span class="navbar-toggler-icon"></span>
</button>
<script>
function openNav() {
$("#mySidenav").css({"left": "0rem"});}
function closeNav() {
$("#mySidenav").css({"left": "-27rem"});}
</script>
【问题讨论】:
标签: javascript position navbar addeventlistener fixed