引导程序偏移scrollspy不起作用

Jon*_*onW 7 offset twitter-bootstrap scrollspy

导航栏的工作方式与平滑滚动一样,但我无法更改偏移量。我的资产净值为86像素,但无论我更改多少像素,它都将移至同一位置。

$(document).ready(function () {
     $('body').scrollspy({target: ".navbar", offset: 86});   
     $("#myNavbar a").on('click', function(event) {
        if (this.hash !== "") {
            event.preventDefault();
            var hash = this.hash;
            $('html, body').animate({
                scrollTop: $(hash).offset().top
                }, 800, function(){
                window.location.hash = hash;
            });
         }
     });
});
Run Code Online (Sandbox Code Playgroud)

我直接将信息添加到了body标签,并且仍然没有任何变化。我知道jquery可以正常滚动,并且折叠导航也可以正常工作。

<body data-spy="scroll" data-target=".navbar" data-offset="86">
Run Code Online (Sandbox Code Playgroud)

Wie*_*ies 9

我认为偏移量不会像您想的那样起作用。我不确定“滚动到”位置。您必须使用填充来做到这一点。

在这种情况下,“偏移”是指屏幕顶部与您要滚动到的部分之间的距离。换句话说:它所做的只是确定导航栏>标签何时变为活动状态。

结帐:https : //jsfiddle.net/wietsedevries/gu0b0dg2/1/

在此示例中,我将设置data-offset="51"为,导航栏的高度也为51px,因此当我向下滚动导航栏时>当导航栏碰到该部分时,标记会变为活动状态。