javascript - 如何向jquery scrolltop添加偏移量

标签 javascript jquery twitter-bootstrap

我正在使用以下代码在 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 的偏移量来对此进行调整?

最佳答案

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

$("#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/

相关文章:

asp.net - 多个网页的单个 javascript 函数

javascript - 无法获取要处理的 jquery AJAX 请求

javascript - jQuery 获取数据名称作为值

css - 在 Bootstrap 中编辑警报的宽度

javascript - 如何设计链式 Model.find() 函数?

javascript - 增强的 Javascript for 语句可以安全使用吗?

jquery - 没有特定类(class)的第一个 child

javascript - Bootstrap : Active tab should show on page load

php - 我可以根据屏幕尺寸显示不同的表格吗?

javascript - Node Express 服务器 : How to serve HTML file properly (scripts and css included) ?(csp、相对路径和类似的东西)