【发布时间】:2019-02-07 15:13:53
【问题描述】:
我有一个从一些遗留代码继承的导航栏 - 我试图让移动版本在单击菜单项时折叠。
http://shitnavbar.brodiedigital.io/
如果您调整窗口大小并滚动到页面的前 100vh 之外,则会出现汉堡菜单。
点击会显示菜单项
单击菜单项将滚动到页面的正确区域,但不会折叠/关闭菜单
目前我正在使用一些 jquery 来尝试通过仅针对菜单上的一个项目 - 'BIKES' 来做到这一点,但没有什么乐趣:
$('#_bikes').on('click', function(){
$('.menu').removeClass('active');
});
该部分的html是
<div class="menu active">
<div class="menu_content d-flex flex-column align-items-center justify-content-center">
<ul class="menu_nav_list text-center">
<li><a href="#where">LOCATIONS</a></li>
<li><a href="#_bikes">BIKES</a></li>
<li><a href="#_concierge">CONCIERGE</a></li>
<li><a href="#_about">ABOUT</a></li>
<li><a href="#_enquire">ENQUIRE</a></li>
<li><a href="#_contact">CONTACT</a></li>
</ul>
</div>
</div>
Jquery 不是我的强项,但我觉得我在这里有点放屁的感觉 - 很简单的事情我做错了。
有没有人了解为什么单击自行车不会从包含“菜单”类的 div 中删除“活动”类?
【问题讨论】:
-
您的链接打不开。也请添加html代码。
-
你当前的代码说:“当点击ID为
_bikes的元素时,找到整个HTML文档中所有menu类的元素,并删除@987654326类@ 来自所有这些元素。” 这对我来说似乎是正确的,只要这些选择器是准确的。 -
我已经编辑了我的原始帖子 - 为丢失的信息道歉并感谢您的时间。克里斯,你所描述的是我希望发生的事情,但现在根本不会发生。
-
$('.menu').removeClass('active') 似乎有效,在您的菜单处于活动状态时在控制台上尝试过。你确定 eventListener 触发了吗?添加一个console.log并检查
标签: javascript jquery html