首页 > 解决方案 > 移动版上的 Bootstrap4 Navbar 折叠按钮没有响应

问题描述

我有一个网站,它的导航栏菜单按钮在触摸时没有响应。我正在使用 Bootstrap,我尝试了不同的方式,例如data-target: "navbar-collapse"项目,#navbar但没有任何效果。我的代码有什么问题?

<style>
    <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">
<!-- jQuery first, then Popper.js, then Bootstrap JS -->
<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js" integrity="sha384-UO2eT0CpHqdSJQ6hJty5KVphtPhzWj9WO1clHTMGa3JDZwrnQq4sF86dIHNDz0W1" crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js" integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM" crossorigin="anonymous"></script>

</style>

<nav class="navbar fixed-top navbar-expand-sm navbar-light">
  <div class="navbar-collapse" id="navbarSupportedContent">
      <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="navbar-collapse"> <span>Menu</span></button>
      <div class="navbar-collapse collapse">
      <ul class="navbar-nav mr-auto">
          <li class="nav-item">
              <a href="index.html"><img src="images/logo.png" alt="logo"></a>
          </li>
          <li class="nav-item">
              <a class="button navButtons" href="about.html"> Biography </a>
          </li>
          <li class="nav-item">
              <a class="button navButtons" href="interiorDesigns.html"> Interior Design </a>
          </li>
          <li class="nav-item">
              <a class="button navButtons" href="arts.html"> Arts </a>
          </li>
          <li class="nav-item">
              <a class="button navButtons" href="blogs.html"> Blogs </a>
          </li>
          <li class="nav-item">
              <a class="button navButtons" href="contact.html"> Contact </a>
          </li>
      </ul>
      <form class="form-inline my-2 my-lg-0">
          <div class="form-group mb-4">
              <input type="search" placeholder="Search" class="form-control form-control-underlined">
          </div>
      </form>
  </div>
  </div>
</nav>

标签: twitter-bootstrapbootstrap-4

解决方案


添加链接和脚本时要小心。您已将其包装在一个<style>标签内,这允许您直接定义一些 CSS 规则,但它不代表 css / js 导入。

然后 bootstrap 有一个brand-logo包含您的徽标的类,但如果您希望始终看到它,则无需将其作为<ul>列表的一部分包含在内,即使您的导航已折叠。

然后你重复navbar-collapse了这是不正确的,请参阅下面的我的实现。如果它还不起作用,请尝试通过包含一个不苗条的导入来更改您的 jquery 导入。

<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">
<!-- jQuery first, then Popper.js, then Bootstrap JS -->
<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js" integrity="sha384-UO2eT0CpHqdSJQ6hJty5KVphtPhzWj9WO1clHTMGa3JDZwrnQq4sF86dIHNDz0W1" crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js" integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM" crossorigin="anonymous"></script>
    
<nav class="navbar fixed-top navbar-expand-md navbar-light">
  <a class="navbar-brand" href="ndex.html">
    <img src="images/logo.png" alt="logo">
  </a>
  <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
    <span class="navbar-toggler-icon"></span>
  </button>

  <div class="collapse navbar-collapse" id="navbarSupportedContent">
    <ul class="navbar-nav mr-auto">
      <li class="nav-item active">
        <a class="nav-link" href="about.html">Biography <span class="sr-only">(current)</span></a>
      </li>
      <li class="nav-item">
        <a class="nav-link" href="interiorDesigns.html">Interior Design</a>
      </li>
      <li class="nav-item">
        <a class="nav-link" href="arts.html">Arts</a>
      </li>
      <li class="nav-item">
        <a class="nav-link" href="blogs.html">Blogs</a>
      </li>
      <li class="nav-item">
        <a class="nav-link" href="contact.html">Contacts</a>
      </li>
    </ul>
    <form class="form-inline my-2 my-lg-0">
      <input class="form-control mr-sm-2" type="search" placeholder="Search" aria-label="Search">
      <button class="btn btn-outline-success my-2 my-sm-0" type="submit">Search</button>
    </form>
  </div>
</nav>


推荐阅读