如何偏移我的自动滚动?

How do I offset my auto scroll?

每当它从一个 div 转换到另一个时,我需要将我的自动滚动功能偏移大约 50-100 像素。

下面的脚本是我正在使用的。当我单击 link 时,它会平滑地向下滚动到相关 Div.

的顶部

但是我的网站顶部有一个粘性 header,因此它始终覆盖您过渡到的 div。

我是否可以将过渡设置为转到 div 的顶部,然后将其偏移 -100 像素?

我的代码如下。

   $(document).ready(function(){
    $('a[href^="#"]').on('click',function (e) {
      e.preventDefault();

    var target = this.hash;
    var $target = $(target);

    $('html, body').stop().animate({
        'scrollTop': $target.offset().top
    }, 900, 'swing', function () {
        window.location.hash = target;
    });
});
 });

好的,根据您的评论,您可以尝试以下方法:

$('html, body').stop().animate({
        'scrollTop': ($target.offset().top - 100) // 100 is hard coded though you can make it dynamic if you know identifier of your sticky div like so: ($target.offset().top - $("#sticky-div").outerHeight())
    }, 900, 'swing', function () {
        window.location.hash = target;
});