【问题标题】:Bootstrap add offset with scrollspy and fixed navBootstrap 使用 scrollspy 和固定导航添加偏移量
【发布时间】:2014-02-07 22:51:54
【问题描述】:

我已经设置了一个固定导航,带有scrollspy和平滑滚动:

HTML

<body data-spy="scroll" data-target=".navbar-collapse">
<!-- ---------- Navigation ---------- -->
<div class="navbar navbar-fixed-top" role="navigation">
  <div class="container">
    <div class="navbar-header">
      <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
        <span class="sr-only">Toggle navigation</span>
      </button>
      <a class="navbar-brand" href="index.html"> <img src="http://placehold.it/200x50"></a>
    </div>
    <div class="navbar-collapse collapse">
       <ul class="nav navbar-nav navbar-right">
        <li class="active"><a href="#home">Home</a></li>
        <li><a href="#works">Works</a></li>
        <li><a href="#about">About</a></li>
        <li><a href="#timeline">Timeline</a></li>
        <li><a href="#contact">Contact</a></li>
      </ul>
    </div><!--/.nav-collapse -->
  </div>
</div>
<!-- ---------- /Navigation ---------- -->

JS

$(".navbar-nav li a[href^='#']").on('click', function(e) {
e.preventDefault();

var hash = this.hash;
$('html, body').animate({
   scrollTop: $(this.hash).offset().top
 }, 1000, function(){
   window.location.hash = hash;
 });

}); 

这很好用,不幸的是它滚动时没有任何偏移(我的导航高度为 80 像素)。我试图添加“data-offset=80”,但这并没有做任何事情。我不太确定我必须在 JS 中添加什么才能完成这项工作:(

【问题讨论】:

标签: css twitter-bootstrap navigation smooth-scrolling


【解决方案1】:

由于您有一个 navbar-fixed-top,您需要手动设置偏移量。试试

$("body").scrollspy({offset: 80});

【讨论】:

    猜你喜欢
    • 2013-07-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-26
    • 2016-04-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多