带有固定标题的JQuery页面滚动问题

Posted

技术标签:

【中文标题】带有固定标题的JQuery页面滚动问题【英文标题】:JQuery page scroll issue with fixed header 【发布时间】:2011-09-11 20:27:20 【问题描述】:

当使用以下代码单击链接时,我正在使用一行 JQuery 将我的用户引导到页面的右侧:

$('html, body').animate( scrollTop: $("#cell_" + scrollTo).offset().top , 1500);

它工作正常并滚动到页面上的正确位置。但是,我在页面顶部有一个固定的导航栏(高度:49px;位置:固定;)在滚动时会在页面顶部出现问题。当页面向下滚动到所需内容时会出现问题,但随后会继续在导航栏下方滚动,从而遮挡视线。

我的问题是,如何修改上面的代码来补偿导航栏?

非常感谢任何帮助,

林登

【问题讨论】:

【参考方案1】:

您将需要获取标题的 outerHeight 并将其从您滚动到的数量中减去。

var scrollToPosition = parseInt($("#cell_" + scrollTo).offset().top) - parseInt($('#header').outerHeight());

if (scrollToPosition < 0)  scrollToPosition = 0  // make sure it is not negative

$('html, body').animate( scrollTop: scrollToPosition , 1500);

【讨论】:

以上是关于带有固定标题的JQuery页面滚动问题的主要内容,如果未能解决你的问题,请参考以下文章

带有固定列的jQuery数据表垂直滚动错误

如何在不将页面滚动条重置为顶部的情况下使用 jQuery 为固定 div 设置动画

位置内的JQuery Mobile可滚动列表:固定元素? (煎茶触摸行为)

div随页面滚动遇顶固定的两种方法(js&jQuery)

如何在引导程序 3 中向下滚动带有固定标题(导航栏)的表格行时将表格标题(标题)粘贴在顶部?

如何让 Vue b-table 滚动带有固定标题的正文