如何关闭所有其他子菜单
How to close all other submenus?
我有一个带全屏下拉菜单的导航栏。on单击我想打开一个下拉菜单,如果另一个下拉列表已经打开,我想关闭另一个菜单。
这是我的一点代码:
Javascript:
$(".sub-link").click(function(){
$(this).children(".navigation-container, a, .navigation-overlay").toggleClass("active");
$(this).children(".navigation-container, .navigation-overlay").fadeToggle(250);
});
Html:
<!-- BEGIN NAVIGATION -->
<section class="navbar">
<div class="navbar-logo">
<img src="assets/img/Logo.png">
</div>
<div class="navbar-menu-container">
<div class="navigation-overlay"></div>
<ul class="navbar-menu">
<a href="#"><li>Home</li></a>
<a href="#"><li>Voor de kinderen</li></a>
<a href="#"><li>Voor de ouders</li></a>
<a href="#" class="active"><li class="sub-link">Over de school
<!-- Sub-Menu -->
<div class="navigation-container">
<div class="sub-menu-title">Over de school</div>
<div class="sub-item-container">
<ul>
<a href="#"><li><img src="assets/img/NavPoint.png"> Onze school in beeld</li></a>
<a href="#"><li><img src="assets/img/NavPoint.png"> Teamfoto</li></a>
<a href="#"><li><img src="assets/img/NavPoint.png"> Even voorstellen</li></a>
</ul>
<ul>
<a href="#"><li><img src="assets/img/NavPoint.png"> Onze school in beeld</li></a>
<a href="#"><li><img src="assets/img/NavPoint.png"> Teamfoto</li></a>
<a href="#"><li><img src="assets/img/NavPoint.png"> Even voorstellen</li></a>
</ul>
<ul>
<a href="#"><li><img src="assets/img/NavPoint.png"> Onze school in beeld</li></a>
<a href="#"><li><img src="assets/img/NavPoint.png"> Teamfoto</li></a>
<a href="#"><li><img src="assets/img/NavPoint.png"> Even voorstellen</li></a>
</ul>
</div>
</div>
<!-- END Sub-Menu -->
</li></a>
<a href="#"><li>Fotogalerij</li></a>
<a href="#"><li>Nieuws</li></a>
<a href="#"><li>Contact</li></a>
<a href="#"><li class="navbar-search"><img src="assets/img/Search.png"></li></a>
</ul>
</div>
<div class="hamburger-menu">
<div id="hamburger1"></div>
<div id="hamburger2"></div>
<div id="hamburger3"></div>
</div>
</section>
<!-- END NAVIGATION -->
我已经用siblings()和.not(this)尝试了一些东西,但我无法让它发挥作用。
谢谢!
您只需要切换.navigation容器并使用css来设置.navigation-container{display:none},但需要设置.naviation-container.active{display:inline}
$(".sub-link").click(function(){
$(this).children(".navigation-container").toggleClass("active");
});
请在此处查看小提琴:https://jsfiddle.net/xn0t4b9f/1/
要进行衰落,只需稍微更改JQuery:
$(".sub-link").click(function(){
$(".navigation-container").removeClass("active");
$(this).children(".navigation-container").fadeToggle("active");
});
toggleClass之前是否尝试删除all.active?
$(".sub-link").click(function(){
$(this).children(".navigation-container.active,
a.active,
.navigation-overlay.active").removeClass("active");
$(this).children(".navigation-container, a, .navigation-overlay").toggleClass("active");
$(this).children(".navigation-container, .navigation-overlay").fadeToggle(250);
});
相关文章:
- 如何关闭所有其他子菜单
- 基于其他下拉菜单选择隐藏/显示下拉菜单
- 单击下拉菜单隐藏其他下拉菜单
- jQuery mmenu-打开子菜单时如何关闭所有其他子菜单
- 删除其他下拉菜单中的选定项目
- 如何在jquery中使用其他下拉菜单来设置下拉菜单的文本和值
- 下拉菜单的第一个选项不是一个选项;强制使用其他选项
- 主菜单JS在IE和Firefox中不起作用(其他菜单起作用)
- Wordpress 移动导航菜单:菜单出现在 iPhone 和其他移动设备上,但不是 iPad
- 当满足其他选择菜单值时取消隐藏选择菜单 - jQuery
- 用于导航的 Javascript 在某些子菜单上工作,但不能在其他子菜单上工作
- 在任一下拉列表中选择“其他”时,两个下拉菜单将打开一个文本框
- 移动菜单需要 Jquery 2.0.1,但其他站点脚本需要旧版本
- Jquery 向下滑动菜单,如果其他条件
- 基金会在屏幕外菜单打开时与其他类进行箭头切换
- 小部件上的菜单,在选择其他项目时单击关闭时打开
- 打开下拉菜单,单击页面上的其他位置
- HTML,Javascript,PHP - 选择菜单+其他输入框
- 如果在带有 JavaScript 的菜单中选择了其他字段,则显示其他字段
- 单击以关闭移动设备上的jQuery下拉菜单,同时保留其他行为