带有JS的导航(双重打开)
Nav with JS (double open)
我的JS代码有问题,这段代码激活了一个带有megamenu的div,但我可以同时打开2个megamenu,我需要当我已经单击时,当前的megamenu会在第二个激活时消失。你有个主意吗?
$(function() {
var menuVisible = false;
$('.contentLink').click(function() {
var office = $(this).attr('data-office');
if (menuVisible) {
$('#_' + office).hide();
$(this).removeClass('on');
menuVisible = false;
return;
}
else
{
$('#_' + office).show();
$(this).addClass('on');
menuVisible = true;
}
});
});
<nav>
<ul class="menu-links">
<li><a data-office="events" class="contentLink">Events</a>
<div class="megamenu center" id="_events">
My mega menu events
</div>
</li>
<li><a data-office="articles" class="contentLink">Articles</a>
<div class="megamenu center" id="_articles">
My mega menu articles
</div>
</li>
</ul>
</nav>
是的,在click()
函数上添加此行以隐藏之前的所有大菜单
$('.megamenu').hide();
我编辑了你的代码以简化它:
$(function() {
$('.contentLink').click(function() {
$('.megamenu').hide();
menu = $(this).next();
if(menu.is(':visible')){
menu.hide();
}else{
menu.show();
}
});
});
实例
相关文章:
- 如何在react js中从一个页面导航到另一个页面
- 删除移动视图粘性js上的粘性导航栏
- 如何让JS脚本在导航后继续运行(谷歌chrome控制台)
- 使用video.js在视频中进行章节导航
- fullpage.js和物化.js;使用实体侧导航禁用鼠标滚动
- Javascript散列导航&外部js文件
- 如何在highstock.js中限制导航器的大小
- pager.js的导航问题
- 带挖空.js的流畅导航
- Ext JS工具栏和痕迹导航示例在JSFiddle中不起作用
- Ionic Angular JS导航项未导航
- 固定顶部导航的impress.js无法工作
- 如何让Capybara/Poltergeist等待js启动的导航完成
- 带有JS的导航(双重打开)
- 可访问的更改菜单项,用于使用不引人注目的JS进行导航,而不是jQuery,
- 反应.js - 导航路由时控制台中的错误
- Boostrap JS - 导航列表树无法正常工作
- HTML/CSS/JS:导航菜单的翻转效果
- 我如何使用d3.js导航JSON嵌套文件
- 如何控制js导航滚动的速度