ScrollTop有身体边缘问题

时间:2018-04-24 13:38:04

标签: javascript jquery

我正在尝试使用scrolltop函数,但它会从窗口顶部停止67个像素...

我设置了67像素的边距来偏移位于全屏横幅图像上方的导航栏。导航栏也有点透明,因此需要保证金,如下所示......

body {
  margin-top: 67px;
}

以及以下脚本......

<script>
$(document).ready(function(){
   $(".navbar a, footer a[href='#MyPage']").on('click', function(event) {
    if (this.hash !== "") {
      event.preventDefault();
      var hash = this.hash;
      $('html, body').animate({
        scrollTop: $(hash).offset().top
      },900, function(){   
        window.location.hash = hash;
      });
    } // End if
  });
</script>

body标签看起来像这样......

<body id="MyPage" data-spy="scroll" data-target=".navbar" data-offset="60">

滚动效果很好,但停止了我认为距离页面顶部67个像素,看起来很明显这是我的边距以抵消导航栏的深度,但我该如何克服这个?

我尝试将+67添加到以下行,但这并没有帮助...

scrollTop: $(hash).offset().top+67

任何想法都会受到欢迎。

由于

1 个答案:

答案 0 :(得分:0)

以下确实解决了我的问题,感谢Niet the Dark Absol

margin:0; padding-top:67px