切换按钮折叠在 Bootstrap 导航栏中不起作用

Posted

技术标签:

【中文标题】切换按钮折叠在 Bootstrap 导航栏中不起作用【英文标题】:Toggle button collapse not working in Bootstrap navbar 【发布时间】:2015-01-02 09:50:44 【问题描述】:

导航栏折叠时,我的切换按钮不起作用。我已经检查了几次数据目标,看起来还不错。

这是我的代码:

<div class="navbar navbar-fixed-top navbar-inverse">
 <div class="container">
  <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
    <span class="icon-bar"></span>
    <span class="icon-bar"></span>
    <span class="icon-bar"></span>
  </button>
  <a class="navbar-brand" href="index.html" title="The Title">
    <img style="max-width:100px;" src="images/LOGO-4.png">
  </a>


    <div class="collapse navbar-collapse navbar-collapse">
        <ul class="nav navbar-nav pull-right">
            <li class="active"><a href="#">WORK</a></li>
            <li><a href="#">CONTACT</a></li>

        </ul>
    </div>

有人知道问题出在哪里,我该如何解决?

【问题讨论】:

非常感谢,现在可以了。我认为我的 jquery 链接不正确。在我的“类”元素之后还缺少一个结束 div 标记。 【参考方案1】:

当然,您的切换按钮会根据您的屏幕分辨率而有所不同。尝试以下方式:

    <html>
    <head>
        <meta name="viewport" content="width=device-width, initial-scale=1">

<link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css">


     </head>
<body >

<nav class="navbar navbar-inverse">
<div class="container-fluid">

 <div class="navbar-header">
  <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#myNavbar">
    <span class="icon-bar"></span>
    <span class="icon-bar"></span>
    <span class="icon-bar"></span>
  </button>
  <a class="navbar-brand" href="index.html" title="The Title">
    <img style="max-width:100px;" src="images/LOGO-4.png">
  </a>
</div>

    <div class="collapse navbar-collapse navbar-collapse" id="myNavbar">
        <ul class="nav navbar-nav pull-right">
            <li class="active"><a href="#">WORK</a></li>
            <li><a href="#">CONTACT</a></li>

        </ul>
    </div>
    </div>
    </nav>
     <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
    <script src="http://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.min.js"></script>

    </body>
</html>

在您的手机上试试这个,看看。然后进入您的css文件并在切换按钮出现时设置屏幕大小的属性。 在您更改这些属性之前,桌面上可能不会出现切换按钮,或者将浏览器窗口的大小调整得越来越小,直到出现切换按钮为止。

例如。在我的浏览器窗口中最大化,切换按钮不会出现。 但是,如果您将浏览器窗口大小调整一半(或者如果您正在手机上冲浪),它将看起来像这样

要解决此问题,您需要进入 CSS 设置。但这仅在您想更改它的情况下。否则它会正常工作。

【讨论】:

非常感谢,现在可以了。我认为我的 jquery 链接不正确。在我的“类”元素之后还缺少一个结束 div 标记。【参考方案2】:

看到你有正确的库导入,我遇到了同样的问题,我不知道为什么有时它会在不同版本的 Jquery 中出现奇怪的行为

试试这个

<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.0/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.0/js/bootstrap.min.js"></script>


<!-- Fixed navbar -->
    <nav class="navbar navbar-default navbar-fixed-top" role="navigation">
      <div class="container">
        <div class="navbar-header">
          <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
            <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="#">Project name</a>
        </div>
        <div id="navbar" class="navbar-collapse collapse">
          <ul class="nav navbar-nav">
            <li class="active"><a href="#">Home</a></li>
            <li><a href="#about">About</a></li>
            <li><a href="#contact">Contact</a></li>
            <li class="dropdown">
              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <span class="caret"></span></a>
              <ul class="dropdown-menu" role="menu">
                <li><a href="#">Action</a></li>
                <li><a href="#">Another action</a></li>
                <li><a href="#">Something else here</a></li>
                <li class="divider"></li>
                <li class="dropdown-header">Nav header</li>
                <li><a href="#">Separated link</a></li>
                <li><a href="#">One more separated link</a></li>
              </ul>
            </li>
          </ul>
          <ul class="nav navbar-nav navbar-right">
            <li><a href="../navbar/">Default</a></li>
            <li><a href="../navbar-static-top/">Static top</a></li>
            <li class="active"><a href="./">Fixed top</a></li>
          </ul>
        </div><!--/.nav-collapse -->
      </div>
    </nav>

【讨论】:

感谢您的帮助,我认为我的 jquery 链接不正确【参考方案3】:

希望它会有所帮助,因为我遇到了同样的问题并通过以下方式解决了它:

<body>

     <nav class="navbar navbar-default navbar-fixed-top" role="navigation">
         ...
     </nav>

     <!-- Include all compiled plugins (below), or include individual files as needed -->
     <script src="js/bootstrap.min.js"></script>

</body>

【讨论】:

【参考方案4】:

Default navbar - Requires javascript plugin

如果禁用了 JavaScript 并且视口足够窄以至于导航栏折叠,则无法展开导航栏并查看 .navbar-collapse 中的内容。

响应式导航栏要求您的 Bootstrap 版本中包含折叠插件

【讨论】:

【参考方案5】:

每次我们都遇到这个问题“为什么导航栏切换按钮不起作用?”,但这次我们找到了解决方案,特别感谢谷歌浏览器开发团队开发的清晰显示错误。

我们应该在引导 javascript 文件之前包含 jquery 库文件。

【讨论】:

谢谢,确实是我的问题。

以上是关于切换按钮折叠在 Bootstrap 导航栏中不起作用的主要内容,如果未能解决你的问题,请参考以下文章

带有按钮组的引导下拉切换在导航栏中不起作用

导航栏下拉菜单(折叠)在 Bootstrap 5 中不起作用

折叠在导航栏面包屑按钮的 ng-bootstrap 和 Angular 4 应用程序中不起作用

Bootstrap 3.0 导航栏中的多个折叠按钮

导航链接在导航栏中不起作用(Bootstrap)(Django)

保持多个折叠打开(使用按钮切换)– Bootstrap 3