我有一个页面,其中包含单击时调用document.location.reload()的按钮。重新加载页面时,我得到$(document).scrollTop()。
的值$(function(){
alert("scrollTop:"+$(document).scrollTop()); //or $(window).scrollTop() or $('body').scrollTop()
})
在Firefox和Opera中,scrollTop()返回正确的值。 在Chrome和IE中,总是返回0。
例:(http://jsbin.com/ipepon/8) 步骤进行:
对于Chrome,我知道在加载文档后会发生滚动位置恢复,并且可以在Scroll事件处理程序中获取。
重新加载文档时,是否有任何跨浏览器方式来确定正确的scrollTop值?
更新1
解决方案有效,但看起来很“脏”:
$(window).load(function(){
setTimeout(function(){alert("scrollTop:"+$(document).scrollTop());},10);
});
(试试http://jsbin.com/ipepon/34) 设置恢复滚动位置的延迟。