【问题标题】:Navbar-toggle Button doesn't show collapsed elements导航栏切换按钮不显示折叠的元素
【发布时间】:2017-07-22 02:42:32
【问题描述】:

我目前正在尝试创建一个按钮,当屏幕变得太小时,它会显示折叠的导航链接。该按钮确实实现了,但除了在屏幕变小时出现之外,我无法让它执行任何操作。

当我只想在按钮中使用白色“-”线时,切换按钮也会创建小的“>”箭头。

我意识到 jquery 和 bootstrap 的 js 文件应该包含在 body 标记的底部,但到目前为止,即使添加了这些文件,我也没有运气。任何帮助表示赞赏。

https://codepen.io/Tintinator/pen/NvKRvO

<div class="navbar navbar-default navbar-static-top navbar-inverse">

  <div class="container">

    <!-- BRAND, BUTTON -->
    <div class="navbar-header">
      <button type="button" class="navbar-toggle collapsed" data-
      toggle="collapse" data-target=".navbar-nav">
        <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="./newnewfoy.png">
      </a>
    </div>

    <!-- NAV LINKS -->
    <div class="navbar-collapse collapse">
      <ul class="nav navbar-nav" id="navilinks">
        <li class="nav-item">
          <a class="nav-link active" href="#">Home</a>
        </li>
        <li class="nav-item">
          <a class="nav-link" href="#">About</a>
        </li>
        <li class="nav-item">
          <a class="nav-link" href="#">Event</a>
        </li>
        <li class="nav-item">
          <a class="nav-link disabled" href="#">Volunteer</a>
        </li>
        <li class="nav-item">
          <a class="nav-link disabled" href="#">Sponsors</a>
        </li>
        <li class="nav-item">
          <a class="nav-link disabled" href="#">Contact</a>
        </li>
      </ul>
      <div class="medialinks hidden-sm hidden-xs">
        <a id="YOUcon" class = "mediacon" href="www.google.com"></a>
        <a id="IGcon" class = "mediacon" href="www.google.com"></a>
        <a id="TWTcon" class = "mediacon" href="www.google.com"></a>
        <a id="FBcon"  class="mediacon" href="www.google.com"></a>
      </div>
    </div>

  </div>

</div>

【问题讨论】:

  • 您的&lt;span&gt; 标签在它们的外部有一个额外的&gt;,导致箭头问题。
  • 哎呀。谢谢你。

标签: javascript jquery html css twitter-bootstrap


【解决方案1】:

你有错误的数据目标属性和一个限制导航高度(50px)的css规则,它不会让它正确扩展。而且我相信父元素应该是 nav 而不是 div。

试试这个:

<!-- NAVIGATION BAR -->
<nav class="navbar navbar-default navbar-static-top navbar-inverse">

  <div class="container">

    <!-- BRAND, BUTTON -->
    <div class="navbar-header">
      <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navilinks" 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="./newnewfoy.png">
      </a>
    </div>

    <!-- NAV LINKS -->
    <div class="navbar-collapse collapse" id="navilinks">
      <ul class="nav navbar-nav" >
        <li class="nav-item">
          <a class="nav-link active" href="#">Home</a>
        </li>
        <li class="nav-item">
          <a class="nav-link" href="#">About</a>
        </li>
        <li class="nav-item">
          <a class="nav-link" href="#">Event</a>
        </li>
        <li class="nav-item">
          <a class="nav-link disabled" href="#">Volunteer</a>
        </li>
        <li class="nav-item">
          <a class="nav-link disabled" href="#">Sponsors</a>
        </li>
        <li class="nav-item">
          <a class="nav-link disabled" href="#">Contact</a>
        </li>
      </ul>
      <div class="medialinks hidden-sm hidden-xs">
        <a id="YOUcon" class = "mediacon" href="www.google.com"></a>
        <a id="IGcon" class = "mediacon" href="www.google.com"></a>
        <a id="TWTcon" class = "mediacon" href="www.google.com"></a>
        <a id="FBcon"  class="mediacon" href="www.google.com"></a>
      </div>
    </div>

  </div>

</nav>

https://codepen.io/anon/pen/oevYvp

【讨论】:

  • 你能解释一下为什么是 nav 而不是 div 吗?
  • 我还能问你为什么移动“navilinks”ID吗?我将 'id="navilinks"' 放在无序列表旁边的意图是因为我不希望 navbar-toggle 显示 medialinks div;但是,似乎将 navilinks id 放在包含媒体链接的 div 中并不会显示它们。
  • 因为 Bootstrap 期望您以特定方式使用属性以使其选择器正常工作,否则它们的 css 和 javascript 将无法“找到”某些元素并且无法正常工作预期的。您可以查看他们的文档以获取示例,您会看到切换按钮应该通过 id 引用可折叠导航 ul 的父 div。
【解决方案2】:

我不确定这是否是,但您是否添加了插件? (见图)

【讨论】:

  • 我在正文底部添加了 jquery cdn 和 boostrap.min.js cdn。我发布了一个 codepen 来完整实现我正在尝试做的事情
  • 添加 "$(".collapse").collapse();"在你的 js 文件中
【解决方案3】:

在您的 codepen 中,我修改了几行代码,似乎可以解决问题。我将数据目标从一个类更改为#navbar 的ID,然后更新了“NAV LINKS”中的初始div 以包含#navbar 的ID。我为你分叉了你的代码笔。 https://codepen.io/ckroll17/pen/qXWqbV

<!--           
      Changed button to data-target to #navbar
      <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target=".navbar-nav"> -->
          <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#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="#">
            <img src="./newnewfoy.png">
          </a>
        </div>

        <!-- NAV LINKS -->
        <!-- Added an id of navbar to the class directly below -->
        <div id="navbar" class="navbar-collapse collapse">

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-04-25
    • 2019-04-18
    • 2017-01-21
    • 2018-04-02
    • 2014-03-11
    • 2018-08-19
    • 2016-02-15
    • 2022-01-26
    相关资源
    最近更新 更多