首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >引导偏移滚动间谍不工作

问引导偏移滚动间谍不工作
EN

Stack Overflow用户
提问于 2016-06-12 02:01:21
回答 3查看 9.7K关注 0票数 8

导航条和平滑的卷轴一样工作,但是我不能改变偏移量。我的导航是86 px,但是不管我换了多少px,它还是会转到同一个地方。

代码语言:javascript
复制
$(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;
            });
         }
     });
});

我把信息直接添加到身体标签上,但仍然没有改变。我知道jquery正在工作,因为它确实滚动平滑,崩溃导航也能工作。

代码语言:javascript
复制
<body data-spy="scroll" data-target=".navbar" data-offset="86">
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-06-12 15:46:16

我不认为偏移能像你想的那样。我不确定“滚动到”的位置。你得用填充物做这个。

此上下文中的偏移量意味着屏幕顶部与要滚动的部分之间的距离。换句话说:它所做的就是确定navbar >a标记在什么时候变为活动状态。

票数 15
EN

Stack Overflow用户

发布于 2017-07-12 14:03:06

是的,偏移量只用于确定您的导航链接何时突出显示。单击链接时不要定位屏幕。即滚动部分由你来决定。您可以使用一些JS来这样做:

代码语言:javascript
复制
var offset = 80;

    $('.navbar li a').click(function(event) {
        event.preventDefault();
        $($(this).attr('href'))[0].scrollIntoView();
        scrollBy(0, -offset);
    });
票数 3
EN

Stack Overflow用户

发布于 2020-04-03 05:56:28

引导使用偏移只解决间谍,而不是滚动。这意味着滚动到合适的地方取决于你。

尝试以下操作,它对我有效:为导航单击添加一个事件处理程序。

代码语言:javascript
复制
var offset = 86;

$('.navbar li a').click(function(event) {
    event.preventDefault();
    $($(this).attr('href'))[0].scrollIntoView();
    scrollBy(0, -offset);
});

在这里发现的:

https://github.com/twitter/bootstrap/issues/3316

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37770066

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档