我用:
var el = document.getElementById("centd");
el.scrollIntoView(true);
滚动到特定位置。在每个浏览器中它都可以正常工作,但在 Chrome 中,当页面加载时它会滚动到该点,但在一两秒后(当页面完成加载时)它会滚动回开始。
我用:
var el = document.getElementById("centd");
el.scrollIntoView(true);
滚动到特定位置。在每个浏览器中它都可以正常工作,但在 Chrome 中,当页面加载时它会滚动到该点,但在一两秒后(当页面完成加载时)它会滚动回开始。
确保在页面完成加载后运行所有 JavaScript 代码:
document.addEventListener('DOMContentLoaded', function() {
// your code here
}, false);
或者,如果您使用的是 jQuery:
$(document).ready(function(){
// your code
});
这将确保您的代码按照您想要的方式运行。
我觉得它应该是一个功能而不是一个错误(但找不到支持这个理论的证据):它在页面第一次加载/在新选项卡中时工作正常,但是一旦用户滚动,滚动 -位置覆盖任何scrollTo
或scrollIntoView
命令(以您描述的这种短暂闪烁的方式,我目前正在尝试理解) - 即使您等待文档准备好。
根据我的经验,其他浏览器不共享此行为。