我对 .scrollTop() 有疑问
我有一个页面在卸载时存储会话中的当前 scrollTop() 位置。我的目标是当我回到这个页面时,页面滚动到我在它上面的最后一个 scrollTop 位置。
我的 JS 代码很简单:
console.log('=>'+parseInt(scrollto)+' '+parseInt($(window).scrollTop()));
$(window).scrollTop(scrollto);
console.log('=>'+parseInt(scrollto)+' '+parseInt($(window).scrollTop()));
结果在我的浏览器控制台中:
=> 2500 0
=> 2500 2500
好的,我的页面滚动到最后一个位置。
问题来自scrollto 变量的大值。这就是我在控制台中得到的:
=> 12352 0
=> 12352 7683
我不明白为什么它没有在请求的位置滚动
我什至试过这个:
var max_times= 10;
for(var i=0;i<max_times;i++){
console.log('=>'+parseInt(scrollto)+' '+parseInt($(window).scrollTop()));
if (parseInt(scrollto) > parseInt($(window).scrollTop()))
$(window).scrollTop(scrollto);
}
结果:
=> 13450 0
=> 13450 7985
=> 13450 7985
=> 13450 7985
...
=> 13450 7985
其他信息:
- 我在 Chrome 和 Safari 上的结果相同。
- 我正在谈论的页面包含很多图像,因此完全加载需要一些时间。
我真的很感激任何帮助。
谢谢你。