Bootstrap导航栏在滚动时粘到顶部

时间:2016-11-07 01:13:51

标签: html twitter-bootstrap affix scrollspy

我正在尝试让我的导航栏在滚动时粘在屏幕顶部。我正在使用affix插件来实现这个目标:

   <nav class="navbar navbar-default" data-spy="affix" data-offset-top="197">

这是相关的html。

 <div class="jumbotron text-center">
  <h1>Resume</h1>
 </div>
<nav class="navbar navbar-default" data-spy="affix" data-offset-top="197">
<div class="container">
    <div class="navbar-header">
      <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar-collapse-1">
        <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" id="navbar-collapse-1">
      <ul class="nav navbar-nav navbar-left">
        <li><a href="./index" title="Bio">Bio</a></li>
        <li><a href="./Resume" title="My Resume">Resume</a></li>
      </ul>
      <ul class="nav navbar-nav navbar-right">
        <li><a href="https://www.linkedin.com/in/cody-reandeau-831038115" class="entypo-linkedin" target="_blank" title="Linkedin"></a></li>
        <li><a href="https://github.com/codyreandeau" class="entypo-github" target="_blank" title="Github"></a></li>
        <li><a href="https://www.freecodecamp.com/codyreandeau" class="fontawesome-fire" target="_blank" title="Free Code Camp"></a></li>
        <li><a href="https://www.hackerrank.com/codyareandeau" class="fontawesome-sitemap" target="_blank" title="Hacker Rank"></a></li>
        <li><a href="https://www.codecademy.com/scriptSurfer86103" class="zocial-html5" target="_blank"  title="Codecademy"></a></li> 
      </ul>
    </div>
  </div>
</nav>

在滚动之前看起来像这样:

enter image description here

然后当我在杂草中滚动时:

enter image description here

我还尝试使用scrollspy和附加插件

进行梳理
<body data-spy="scroll" data-target=".navbar" data-offset="197">
<nav class="navbar navbar-default" data-spy="affix" data-offset-top="197">

得到了相同的结果。谁能告诉我这里我做错了什么?

1 个答案:

答案 0 :(得分:3)

只需在滚动条中向导航栏添加一个类:

<nav class="navbar navbar-default navbar-fixed-top">

因此,您只需添加课程navbar-fixed-top,它就会保持在您想要的位置。

你可以通过运行:

非常简单地在jQuery中完成
if (//scroll position reached) {
  $('nav').addClass(navbar-fixed-top)
}

此处的文档:https://getbootstrap.com/components/#navbar-fixed-top