我有一个名为“menu-list”的ul,我在CSS文件中将display属性设置为“none”,但是我希望在单击链接时将其更改为“flex”。
我正在使用链接上的click事件来触发display属性的更改,但是当我单击它时没有任何React。
当在myFunction()中将display属性的值记录到控制台时,我在控制台中只得到一个空白日志,没有显示任何值。
我哪里做错了?
let menuList = document.getElementById("menu-list");
function myFunction() {
console.log(menuList.style.display);
if (menuList.style.display === "none") {
menuList.style.display = "flex";
} else {
menuList.style.display = "none";
}
}
#menu-list {
display: none;
}
<div class="container">
<div class="inner">
<nav id='menu'>
<div class="logo">
<img src="src/assets/images/hp-logos_white.png" alt="logo" class="fluid">
</div>
<ul id="menu-list">
<li class="menu-list-item"><a href="">Home</a></li>
<li class="menu-list-item"><a href="">Home</a></li>
<li class="menu-list-item"><a href="">Home</a></li>
</ul>
<a href="" class="icon" onclick="myFunction()">
<i class="fa fa-bars"></i>
</a>
</nav>
</div>
</div>
2条答案
按热度按时间7vux5j2d1#
这里有几个问题:
您使用锚而不是按钮,因此它会将您重定向到一个新的网站。
那么答案就解释了为什么你的切换不起作用。然而,现代的解决方案是简单地切换一个CSS类:
p5fdfcr12#
切换比较的顺序,因为最初没有在元素上设置内联样式。