9

我用:

var el = document.getElementById("centd");
el.scrollIntoView(true);

滚动到特定位置。在每个浏览器中它都可以正常工作,但在 Chrome 中,当页面加载时它会滚动到该点,但在一两秒后(当页面完成加载时)它会滚动回开始。

4

2 回答 2

6

确保在页面完成加载后运行所有 JavaScript 代码:

document.addEventListener('DOMContentLoaded', function() {
   // your code here
}, false);

或者,如果您使用的是 jQuery:

$(document).ready(function(){
// your code
});

这将确保您的代码按照您想要的方式运行。

于 2013-10-01T09:48:54.993 回答
0

我觉得它应该是一个功能而不是一个错误(但找不到支持这个理论的证据):它在页面第一次加载/在新选项卡中时工作正常,但是一旦用户滚动,滚动 -位置覆盖任何scrollToscrollIntoView命令(以您描述的这种短暂闪烁的方式,我目前正在尝试理解) - 即使您等待文档准备好。

根据我的经验,其他浏览器不共享此行为。

于 2020-03-08T12:33:05.893 回答