Twitter Bootstrap 在下拉菜单打开时关闭可折叠菜单
Twitter Bootstrap close collapsible menu when dropdown menu is open?
我正在使用Twitter Bootstrap为我的网站创建一个导航栏。我通常使用下拉插件来创建具有多个菜单项的菜单;但是对于我不想关闭的菜单,除非故意这样做(例如搜索框 [1]),我使用折叠插件创建一个可折叠的菜单。
为了给你一个想法,下面是导航栏标记的框架:
<nav class="navbar navbar-default navbar-static-top">
<div class="navbar-header">
<a class="navbar-brand" href="/">...</a>
</div>
<div class="collapse navbar-collapse">
<!-- Dropdown Menu -->
<ul class="nav navbar-nav">
<li class="dropdown">
<a href="/categories/" class="dropdown-toggle" data-toggle="dropdown">Categories</a>
<ul class="dropdown-menu">
<li><a href="/tech/">Tech</a></li>
<li><a href="/autos/">Autos</a></li>
<li><a href="/travel/">Travel</a></li>
</ul>
</li>
</ul>
<!-- Collapsible Menu -->
<ul class="nav navbar-nav navbar-right">
<li id="nav-search" class="collapsible-menu">
<a data-toggle="collapse" data-target="#nav-searchform" class="collapsed" href="#">Search</a>
<div id="nav-searchform" class="collapse">
<!-- Search Form -->
</div>
</li>
</ul>
</div>
</nav>
请注意上面代码中<!-- Dropdown Menu -->
和<!-- Collapsible Menu -->
的注释,分别表示下拉菜单和可折叠菜单。
问题:如果可折叠菜单(除非再次单击菜单,否则不会关闭)处于打开状态,并且用户单击其中一个下拉菜单,则两个菜单都将打开。我希望可折叠菜单在打开下拉菜单时自动关闭。
我该怎么做(用jQuery)?
我已经尝试过这些,但似乎没有一个有效:
jQuery(document).ready(function($){
$('.dropdown-toggle').click(function() {
$(this).closest('#nav-search').toggleClass('selected');
});
});
和
jQuery(document).ready(function($){
$('.dropdown-toggle').on('show.bs.dropdown', function () {
$(this).closest('#nav-search').children().toggleClass('in');
});
});
和
jQuery(document).ready(function($){
$('.dropdown-toggle').on('show.bs.dropdown', function () {
$(this).closest('#nav-search').children().removeClass('in');
});
});
我不确定我做错了什么。
脚注:
- 如果我也将 Bootstrap 的下拉插件用于搜索框,当用户单击输入/文本区域时,下拉菜单将关闭,这就是我选择使用折叠插件的原因。
$('.dropdown').click(function(){
if($('#nav-searchform').hasClass('in'))
$('#nav-searchform').collapse('hide');
});
http://www.bootply.com/122096
相关文章:
- 只使用CSS创建可折叠菜单或spry菜单
- 可折叠侧边栏/导航菜单
- 引导可折叠菜单不起作用
- Twitter Bootstrap 在下拉菜单打开时关闭可折叠菜单
- (网页)JavaScript 可折叠菜单错误
- 创建可折叠侧边菜单
- 多级可折叠引导侧导航菜单出现问题
- 对可折叠菜单中根链接的效果/操作不活动 - 只是效果 - jQuery
- 如何更改可折叠菜单的图像
- 可折叠菜单未保持打开状态
- 可折叠菜单是't工作-参数'边栏控制器'不是函数,未定义
- 带子菜单的类似Mac的可折叠边栏导航
- 由外部按钮控制的可折叠菜单
- 可折叠菜单更改元素的位置
- 为什么当我点击可折叠菜单时,它没有展开?
- 移动设备上的可折叠菜单
- 在可折叠菜单中更改父LI的样式
- 可折叠菜单javascript问题
- 使用Navgoco动态生成的可折叠菜单
- 谷歌Chrome扩展可折叠菜单