html - Bootstrap 导航栏折叠未在单击时关闭

标签 html twitter-bootstrap navbar collapse

我正在使用 Bootstrap 一个单页网站上的折叠导航栏以及一个简单的滚动脚本,所以如果我点击一个链接,页面会向下滚动到 anchor - 效果很好。但是,当我单击涵盖移动设备上大量内容的链接时,导航栏不会折叠 - 您首先必须单击令人讨厌的切换。我发现它应该有助于将 data-toggle 和 data-target 属性添加到链接中,但它根本不起作用 - 我的错误在哪里?

导航:

<nav class="navbar navbar-default mainbar" role="navigation">
    <div class="navbar-header">
        <button type="button" class="navbar-toggle hvr-bounce-to-bottom" data- toggle="collapse" data-target=".navbar-collapse">
          <span class="sr-only">Toggle navigation</span>
          <span class="icon-bar"></span>
          <span class="icon-bar"></span>
          <span class="icon-bar"></span>
        </button>
    </div>

    <div class="collapse navbar-collapse navbar-collapse">
      <ul class="nav navbar-nav">
         <li><a data-toggle="collapse" data-target=".navbar-collapse" href="#link1" class="navelement">Link 1</a></li>

         <li><a data-toggle="collapse" data-target=".navbar-collapse" href="#link2" class="navelement">Link 2</a></li>

       </ul>
     </div>
</nav>

更新:
这是一个Javascript问题。我的平滑滚动脚本导致了一个问题:
  var corp = $("html, body");
  $(".navelement").click(function() {
    var flag = $.attr(this, "href");
    corp.animate({
        scrollTop: $(schild).offset().top - 60
    }, 1600, function() {
        window.location.hash = flag;
    });
    return false;
});

这是一个非常简单的脚本,但我不知道如何处理它以使导航栏崩溃。

最佳答案

使用上面的示例,对我有用的是将 data-toggle="collapse"data-target=".navbar-collapse"添加到外部 div

<div class="collapse navbar-collapse" id="my-navbar-collapse">

<div class="collapse navbar-collapse" id="my-navbar-collapse" toggle="collapse" data-target=".navbar-collapse">
整个菜单如下所示:
 <nav class="navbar navbar-expand-xl navbar-light bg-light">
  <a class="navbar-brand" href="#">Main</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" data-toggle="collapse" data-target=".navbar-collapse" >
    <ul class="navbar-nav mr-auto">
      <li class="nav-item active">
        <a class="nav-link" routerLink="/home">Home <span class="sr-only">(current)</span></a>
      </li>
      <li class="nav-item active">
        <a class="nav-link" routerLink="/guitars">Guitars <span class="sr-only">(current)</span></a>
      </li>
      <li class="nav-item dropdown">
        <a class="nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
          Dropdown
        </a>
        <div class="dropdown-menu" aria-labelledby="navbarDropdown">
          <a class="dropdown-item" routerLink="/nasa-image">NASA Image</a>
          <a class="dropdown-item disabled" href="#">Another action</a>
          <div class="dropdown-divider"></div>
          <a class="dropdown-item disabled" href="#">Something else here</a>
        </div>
      </li>
      <li class="nav-item">
        <a class="nav-link disabled" href="#">Disabled</a>
      </li>
    </ul>
   
  </div>
    </nav>

关于html - Bootstrap 导航栏折叠未在单击时关闭,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28472815/

相关文章:

php - 使用php mysql为div分配不同的类名

html - onClick on Google 脚本不适用于 HTML 表单

html - 为什么输入:invalid true when the input is empty?

css - NavBar 中的 nav-item 下拉列表,有没有办法让它在使用 btn-outline 时显示边框?

php - 单击链接时如何使背景变暗?

javascript - 如何在 AstroJS 中使用 SVG?

html - 更改轮播宽度

javascript - 在react中加载jquery依赖库

jquery - 在移动 View 中将 Bootstrap 选项卡切换为下拉列表

css - Angular 6 Bootstrap 4 中的多级导航栏