我知道如何获取页面的scrollTop,我使用这个简单的JS函数(代码复制):
function GetScrolledTop()
{
//I never work in IE quirkmode, I always use DOCTYPE as 1st line, so I don't need to test for document.body.scrollTop
return self['pageYOffset'] || document.documentElement.scrollTop;
}
这有效,我的问题如下:我试图在页面onload事件中添加它
<body onload="alert(GetScrolledTop());">
在页面加载时我得到ZERO(这很有意义),但问题是即使我滚动页面然后重新加载它而不触及滚动条,我也会得到ZERO 。
似乎浏览器会:
你知道如何在第3步之后获得scolledTop吗? 我的意思是如何在浏览器滚动页面后获得scrolledTop ? (也许不使用计时器)
谢谢!
答案 0 :(得分:2)
可能没有使用计时器。但是你可以使用延迟为0ms的定时器,当线程空闲时执行该功能,同时看起来仍然是即时的:
<body onload="window.setTimeout(function () { alert(GetScrolledTop()); } , 0);">
编辑 - 认为值得一提的是most browsers支持onscroll
事件,该事件应在窗口滚动后触发。