我正在使用以下代码从 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/