Bootstrap Navbar将打开,但不会关闭

时间:2016-03-02 22:16:40

标签: jquery css twitter-bootstrap menu

以下是我正在使用的代码:

<nav class="navbar navbar-default navbar-fixed-top" id="mainNav">
    <div class="container-fluid">
        <!-- Brand and toggle get grouped for better mobile display -->
        <div class="navbar-header">
            <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1" aria-expanded="false">
                <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="/">
                <img src="/application/themes/dcc_theme/img/DiscoveryChurchColorado.png" alt="Discovery Church Colorado, Colorado Springs, CO" class="img-responsive">
            </a>
        </div>

        <!-- Collect the nav links, forms, and other content for toggling -->
        <div class="collapse navbar-collapse navbar-right" id="bs-example-navbar-collapse-1">
            <ul class="nav navbar-nav">
                <li class=""><a href="http://concrete.metooplace.com/about" target="_self" class="">About</a>
                </li>
                <li class=""><a href="http://concrete.metooplace.com/serve" target="_self" class="">Serve</a>
                </li>
                <li class=""><a href="http://concrete.metooplace.com/events" target="_self" class="">Events</a>
                </li>
                <li class="nav-selected nav-path-selected"><a href="http://concrete.metooplace.com/give" target="_self" class="nav-selected nav-path-selected">Give</a>
                </li>
            </ul>
        </div>
        <!-- /.navbar-collapse -->
    </div>
    <!-- /.container-fluid -->
</nav>

测试页的网址为http://concrete.metooplace.com

问题是,在移动设备上,您可以单击菜单按钮,菜单将展开,但如果再次单击它将不会关闭。

这很好用。我必须无意中改变某些内容,或者我的javascript中存在冲突,但我似乎无法弄清楚发生了什么,我需要一副新鲜的眼睛来检查它。

6 个答案:

答案 0 :(得分:1)

这是Bootstrap JS的版本。我将其更改为3.3.6 CDN版本并且有效。

答案 1 :(得分:1)

我刚遇到这个问题,原因很简单,因为headbody都调用了bootstrap.min.js文件。

希望这能节省一些时间

答案 2 :(得分:1)

就我而言,在index.html和angular.json中都调用了bootstrap.min.js。所以,我只保留了一个。

答案 3 :(得分:0)

我看到&#34;未捕获的ReferenceError:$未定义&#34;

在您加入jQuery之前,您似乎正在使用$。 确保你的脚本顺序正确,你应该没事!

答案 4 :(得分:0)

我检查了您的HTML代码,问题是您在包含jQuery文件之前尝试调用下面的代码。

<!--js/jquery stuff-->
<script>
$(document).ready(function () {
  $(".navbar-nav li a").click(function(event) {
    $(".navbar-collapse").collapse('hide');
  });
});
</script>

请在包含jQuery文件后放置代码块:

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.0.0-beta1/jquery.js"></script>

我希望它能奏效!

答案 5 :(得分:0)

即使您使用旧版本的jQuery,也可能是这样。我已经弄明白,在我对代码进行了一些更改后(我建立了一个wordpress网站),如果你试图将一些旧版本的jQuery(直到1.7)与某些版本的bootstrap.js(从3.2版开始)会产生这种错误。