当我点击该菜单无法隐藏时,我发现此代码位于: http://getbootstrap.com/components/#navbar 但是不能正常工作。
<nav class="navbar navbar-default navbar-fixed-top" role="navigation">
<div class="container-fluid">
<!-- Brand and toggle get grouped for better mobile display -->
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="index.php">
<img class="desktop-logo" src="img/logo.png" alt="Company title">
<img class="mobile-logo" src="img/logo-white.png" width="169" alt="">
</a>
</div>
<!-- Collect the nav links, forms, and other content for toggling -->
<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
<ul class="nav navbar-nav">
<li class=""><a href="index.php">List</a></li>
</ul>
</div><!-- /.navbar-collapse -->
</div><!-- /.container-fluid -->
</nav>
是的,我得到了:安装了正确的库:Bootstrap v3.0.3。 没有javascript错误,HTML代码有效。
重现的步骤: 下载bootstrap 3.0.3 zip包,制作一个index.html文件,插入引导程序的css和js。 输入上面的代码,单击或触摸时它不会关闭。
代码是否意味着隐藏菜单?
答案 0 :(得分:32)
我遇到了同样的问题,解决方法是确保bootstrap.js
不会被多次引用。我在我的页面中加载了两次,这呈现了描述的问题。
<script src="/js/bootstrap.min.js"></script>
不要多次加载!
答案 1 :(得分:16)
这应该
<script>
$(document).on('click',function(){
$('.collapse').collapse('hide');
})
</script>
这是参考要点
答案 2 :(得分:1)
上面显示了一个奇怪的行为,有时滚动条会出现在导航栏上。这可能来自一些花哨的CSS,但下面为我修好了。
$(document).on('click',function(e){
if($('#bs-example-navbar-collapse-1').hasClass('in')){
$('.collapse').collapse('hide');
}
})
答案 3 :(得分:1)
还有另一个解决方案here,当有子菜单时也可以使用。
<script>
$(document).on('click','.navbar-collapse.in',function(e) {
if( $(e.target).is('a') && $(e.target).attr('class') != 'dropdown-toggle' ) {
$(this).collapse('hide');
}
});
</script>
答案 4 :(得分:0)
我遇到了同样的问题。不要使用脚本“hack”。只是尝试使用jquery 2.1.4或更早版本。
答案 5 :(得分:0)
<link href="css/bootstrap.min.css" rel="stylesheet">
<link href="css/style.css" rel="stylesheet">
<script src="js/bootstrap.min.js"></script>
^我的.js文件太远了。将您的行更改为如上所示,响应按钮也应该关闭菜单。
答案 6 :(得分:0)
我在jquery和css文件之后有了Bootstrap.min.js文件。我将其移到上方,对我有用。