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>
对于导航栏,这只有在有切换按钮时才能在移动视图模式下工作。导航栏暴露时会发生奇怪的事情(切换按钮未显示)。