gpt4 book ai didi

javascript - 单击链接时关闭导航覆盖(一个寻呼机)

转载 作者:行者123 更新时间:2023-12-01 05:12:17 26 4
gpt4 key购买 nike

在我网站的移动版本上,我有一个汉堡包图标,当使用 JavaScript 单击时会打开全屏叠加层。这些链接是 anchor 链接,因为它是一页网站。单击其中一个链接时,当我希望覆盖层关闭时,覆盖层保持打开状态。

我认为我遇到的问题是因为我设置了 jQuery 代码,因此单击这些链接之一时会出现平滑的滚动效果。这可以完美地工作,但是覆盖层保持打开状态。

所以openNav/closeNav是用javascript设置的,滚动效果是用jQuery设置的。我很难弄清楚如何解决这个问题。

这是我的 HTML:

<div id="mobile-navbar">
<img class="open-nav" src="img/open-nav.png" onclick="openNav()">
<a href="#1"><img class="logo-mobile" src="img/logo-mobile.png" alt=""></a>
<div id="myNav" class="overlay">
<a href="javascript:void(0)" class="closebtn" onclick="closeNav()">&times;</a>
<div class="overlay-content">
<a href="#1">ABOUT</a>
<a href="#2">RIDING AREAS</a>
<a href="#3">FACILITY</a>
<a href="#4">PRICING AND SERVICES</a>
<a href="#5">CONTACT</a>
</div>
</div>
</div>

这是 Javascript(用于打开/关闭导航):

function menu(x) {
x.classList.toggle("change");
}
function openNav() {
document.getElementById("myNav").style.height = "100%";
}
function closeNav() {
document.getElementById("myNav").style.height = "0%";
}

这是 jQuery(用于平滑滚动):

$(document).ready(function(){
$("a").on('click', function(event) {
if (this.hash !== "") {
event.preventDefault();
var hash = this.hash;
$('html, body').animate({
scrollTop: $(hash).offset().top
}, 800, function(){
window.location.hash = hash;
});
}
});
});

最佳答案

您可以将 onclick="closeNav();" 添加到所有链接。

关于javascript - 单击链接时关闭导航覆盖(一个寻呼机),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60675514/

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