【发布时间】:2020-08-21 22:17:25
【问题描述】:
我有一些用 html 和 CSS 制作的汉堡菜单,里面有一些链接。这很好用。但是,当我单击某个链接时,菜单不会关闭。我尝试了一些 JavaScript 示例,但没有成功。
我真的不擅长 JavaScript,需要帮助。关键是当用户单击任何链接时,我需要关闭菜单。谢谢!
<div class="menu-wrap">
<input type="checkbox" class="toggler" />
<div class="hamburger"><div></div></div>
<div class="menu">
<div>
<img class="logo" src="assets/logo_white.svg" />
<ul>
<li><a href="#">HOME</a></li>
<li><a href="#cards">SERVICES</a></li>
<li><a href="#">ABOUT US</a></li>
<li><a href="#">CONTACT US</a></li>
</ul>
<div class="social">
<ul>
<li>
<a href="#"><i class="fab fa-facebook-f"></i></a>
</li>
<li>
<a href="#"><i class="fab fa-twitter"></i></a>
</li>
<li>
<a href="#"><i class="fab fa-instagram"></i></a>
</li>
<li>
<a href="#"><i class="fab fa-linkedin-in"></i></a>
</li>
</ul>
</div>
</div>
</div>
</div>
【问题讨论】:
-
我强烈建议在图标右侧添加“菜单”一词,并且请确保您没有强制隐藏菜单,除非是在小屏幕上。桌面优先,移动用户的合同功能/布局。忽略炒作,因为如果这样做,从长远来看,您将减少 很多 的维护,从而使您可以扩展您正在做的事情并 这就是程序员赚更多钱的方式。
-
你是如何打开菜单的? (添加类?某种类型的动画?..)你可以做类似
document.querySelectorAll('.menu-wrap .menu a" ).forEach(e=>{ e.addEventListener('click', ()={*** rewind animation or remove class ***})}) -
我使用 css 制作汉堡动画,没有 javascript,效果很好。我有动画线条和平滑的颜色,蔓延到整个页面。该菜单仅适用于移动版,桌面版有普通、完整版。