Check out the fiddle.我有一个基本的Bootstrap 3响应导航如下所示:
<div id="navbar" class="navbar navbar-fixed-top navbar-inverse"> <div class="container"> <a id="navbar-toggle" class="navbar-toggle" data-toggle="collapse" data-target=".nav-collapse"> <span class="icon-bar"></span> <span class="icon-bar"></span> <span class="icon-bar"></span> </a> <a class="navbar-brand" href="#">Title Title Title</a> <div id="nav-collapse" class="nav-collapse collapse"> <ul class="nav navbar-nav"> <li><a href="#option1">Option 1</a></li> <li><a href="#option2">Option 2</a></li> <li><a href="#option3">Option 3</a></li> </ul> </div> </div> </div>
导航项目链接到页面上的部分,而不是不同的页面,所以我需要下拉列表来隐藏点击。
每当我尝试用jQuery手动切换下拉列表,它会混淆下拉切换按钮的未来功能:
$("#navbar li a").click(function(event) { // check if window is small enough so dropdown is created $("#navbar-toggle").is(":visible") $("#nav-collapse").toggle(); });
有没有更好的解决方案?
解决方法
如果您想在没有JavaScript的情况下执行此操作,您可以简单地将数据目标和数据切换添加到每个列表项,如下所示:
<li data-toggle="collapse" data-target=".nav-collapse"><a href="#option1">Option 1</a></li> <li data-toggle="collapse" data-target=".nav-collapse"><a href="#option2">Option 2</a></li> <li data-toggle="collapse" data-target=".nav-collapse"><a href="#option3">Option 3</a></li>
对于导航栏,这只有在有切换按钮时才能在移动视图模式下工作。导航栏暴露时会发生奇怪的事情(切换按钮未显示)。