【发布时间】:2020-09-07 20:42:38
【问题描述】:
我有控制动画汉堡包和移动导航菜单的 JavaScript 代码。当我点击它时,它会在移动视图中打开导航菜单并将正文设置为溢出隐藏。
基本上,当我单击汉堡包图标时,它会打开移动导航菜单,当我进行选择时,比如说关于页面或主页,它会转到关于或主页,并且正文溢出设置为自动。这就是我想看到的。
但是,如果我点击汉堡图标,打开移动导航菜单,我没有做任何选择,而是再次点击汉堡图标关闭导航菜单,body overflow 保持隐藏,所以我不能滚动页面。
如果我没有在导航菜单上进行任何选择,我希望正文溢出返回到自动。
var menuIcon = document.querySelector('.hamburger-icon');
var navbar = document.querySelector('#header');
menuIcon.addEventListener('click', function(){
navbar.classList.toggle('change');
document.body.style.overflow = ‘hidden’
});
有什么帮助吗?或者有没有办法使用 classList.add 和 classList.remove 而不是切换来编写类似下面的内容
if(open){
Navbar.classList.add(‘change’);
document.body.style.overflow = ‘hidden’
}else{
Navbar.classList.add(‘change’);
document.body.style.overflow = ‘auto’
【问题讨论】:
-
您有几个错字:
document.body.sytle.overflow = ‘auto’样式拼写错误,您需要将单引号更改为常规单引号(不是花哨的引号)。' -
感谢您的回复,但“样式”错误不在主代码中......它只是在这里,因为我在这里再次重新输入了整个代码
-
你的引号还是错的。您将继续收到拼写错误,直到您修复拼写错误并且仍然遇到同样的问题。
标签: javascript html jquery css