2

我有一个动态页面,其中单击链接会触发一些将某些页面元素设置为的 javascript,display:none从而更改页面的高度。典型的浏览器行为是保留页面顶部的滚动位置。我想保留底部的滚动位置,因为链接靠近页面底部,我希望用户的光标在点击后保持在链接上。

我必须这样做的代码是:

var scrollBottom=getDocHeight()-getScrollTop();
//do stuff to change height
window.scrollTo(0,getDocHeight()-scrollBottom);

(使用我发现的跨浏览器函数来获取文档高度和滚动位置)。

这在 chrome 和 Internet Explorer 中运行良好,但在 Firefox 中,页面高度变化和滚动位置变化之间有一个小的延迟。结果,页面快速重新对齐时会出现闪烁,这让我很困扰。

谁能建议一个修复或更自然的方法来记住页面底部而不是顶部的滚动位置?

谢谢你。

4

0 回答 0