【发布时间】:2011-11-21 16:12:39
【问题描述】:
我对 .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 上的结果相同。
- 我正在谈论的页面包含很多图像,因此需要一些 是时候满载而归了。
非常感谢任何帮助。
谢谢。
【问题讨论】:
-
图片是否设置了高度?还是页面的总高度会随着图像的加载而增加?
标签: jquery google-chrome position scrolltop