多级可折叠引导侧导航菜单出现问题
Trouble with multi-level collapsible Bootstrap side-nav menu
我一直在寻找我遇到的相同问题的示例,但还没有运气。我正在尝试使用 bootstrap.js 在引导程序中创建一个多级可折叠的侧面导航。
我的问题是我已经在第二级中添加了,但是当我单击列表项以触发它打开它时,它会折叠整个菜单。当我重新打开菜单时,二级菜单也打开了。我的代码如下:
<div class="sidebar-nav">
<p class="sidenav-header">Units and Lessons:</p>
<ul class="nav nav-list">
<li class="nav-header" data-toggle="collapse" data-target="#content-areas"> <span class="nav-header-primary">
Content Areas
</span>
<ul class="nav nav-list collapse" id="content-areas">
<li><a href="#" title="Title">All</a></li>
<li><a href="#" title="Title">Urban Planning</a></li>
<li><a href="#" title="Title">Sustainability</a></li>
<li><a href="#" title="Title">Public Administration</a></li>
<li data-toggle="collapse" data-target="#nav-health" data-parent="#content-areas"><a href="#" title="Title">Health</a>
<ul class="nav-secondary nav-list collapse" id="nav-health">
<li><a href="#" title="Title">Introduction</a></li>
<li><a href="#" title="Title">Lesson: What is Epilepsy?</a></li>
<li><a href="#" title="Title">Lesson: Pathology</a></li>
</ul>
</li>
</ul>
</li>
<li class="nav-header" data-toggle="collapse" data-target="#languages"> <span class="nav-header-primary">
Languages
</span>
<ul class="nav nav-list collapse" id="languages">
<li><a href="#" title="Title">All</a></li>
<li><a href="#" title="Title">Arabic</a></li>
<li><a href="#" title="Title">Turkish</a></li>
<li><a href="#" title="Title">Hebrew</a></li>
</ul>
</li>
</ul>
</div>
我所说的特定部分位于"内容区域"下的"健康"列表项下。
任何帮助将不胜感激。谢谢!
标记的问题在于,当您尝试在列表中单击时,整个菜单都会折叠。例如,如果单击"内容区域"内的"全部",则会折叠"内容区域"。第二级菜单"健康"也是如此。
这是因为您没有指定折叠项标题。查看 Bootstrap Collapse 文档,您将在其中找到如下示例:
<div class="accordion-heading">
<a class="accordion-toggle" data-toggle="collapse" data-parent="#accordion2" href="#collapseOne">
Collapsible Group Item #1
</a>
指定标题后,第二级导航应该可以正常工作。
我创建了一个小提琴供您验证。我根据文档修改了内容区域,第二级菜单工作正常。但是,我没有修改"语言"菜单项,以便您可以看到它是如何工作的(一旦语言展开,请尝试在列表中单击)
虽然与Pitamber的示例类似,但我不会添加一些额外的类,尤其是带有类"accoridan-heading"的额外div,只需将该类应用于a标签即可。
<ul class="nav nav-list">
<li>
<a>Menu Item with No Sub-Items</a>
</li>
<li>
<a class="accordion-heading" data-toggle="collapse" data-target="#submenu">
<span class="nav-header-primary">Menu Item with Sub-Items <b class="caret"></b></span>
</a>
<ul class="nav nav-list collapse" id="submenu">
<li><a href="#" title="Title">Sub Item 1</a></li>
<li><a href="#" title="Title">Sub Item 2</a></li>
<li><a href="#" title="Title">Sub Item 3</a></li>
<li><a href="#" title="Title">Sub Item 4</a></li>
</ul>
</li>
</ul>
您可以更进一步添加CSS和/或一些JS,以在子菜单上放置一些对比度,并在菜单项展开和折叠时翻转/更改插入符号图标。
相关文章:
- 自定义Jquery css下拉菜单问题
- 背景定位下拉菜单问题
- jQuery切换列表菜单问题
- 响应菜单问题-如何在移动环境中处理HREF和onclick事件
- jQuery的嵌套手风琴菜单问题
- Ionic侧菜单问题
- 下拉子菜单问题
- CSS + Jquery Slide在调整大小时切换菜单问题
- 将值添加到 2 下拉菜单 - 问题
- Div 下拉菜单问题
- JavaScript / JQuery Combo类似下拉菜单问题
- 下拉菜单问题
- JavaScript 下拉菜单问题
- 切换菜单问题
- 移动和chrome上的引导程序下拉菜单问题
- Javascript粘性菜单问题
- jquery显示和隐藏菜单问题
- 显示/隐藏子菜单问题
- 下拉菜单问题,DIV和/或CSS问题
- Jquery + css下拉菜单问题