我正在使用以下代码从 bootstrap 导航栏中的菜单链接动画滚动:

$("#subnavbar ul li a[href^='#']").on('click', function(e) {
   e.preventDefault();
   $('html, body').animate({ scrollTop: $(this.hash).offset().top }, 600);

   // edit: Opera and IE requires the "html" elm. animated
});

目前,固定导航栏将 anchor 隐藏在下方。如何添加 60px 的偏移量来对此进行调整?

最佳答案

您需要从目标元素的 60 中减去 offset().top,以便为导航栏留出空间。我通过获取 height()#subnavbar 动态完成了此操作,因此如果您将来需要更改它的高度,您无需担心破坏此代码。

$("#subnavbar ul li a[href^='#']").on('click', function(e) {
    e.preventDefault();
    $('html, body').animate({
        scrollTop: $(this.hash).offset().top - $('#subnavbar').height()
    }, 600);
});

关于javascript - 如何向 jquery scrolltop 添加偏移量,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18289184/

10-11 22:11