如何检测到客户端已滚动到网页的顶部或者底部?
时间:2020-03-06 14:54:17 来源:igfitidea点击:
我正在寻找一种跨浏览器的方法来检测客户端Web浏览器一直滚动到屏幕的底部(或者顶部)。
真的,顶部很容易,因为scrY = window.pageYOffset || document.body.scrollTop || document.documentElement.scrollTop
如果我们位于顶部,则为零。问题是scrY似乎返回滚动条的顶部,而不是底部,因此与其得到与文档高度(以像素为单位)相等的东西,不如说是文档高度减去文档的大小。滚动条。
是否有一种简单的跨浏览器方法来确定用户是否向下滚动到文档/窗口的底部?最具体地说,我了解滚动条的一般操作(设置,移动等),但是如何获得滚动条底部相对于窗口/文档底部的增量。
解决方案
http://www.softcomplex.com/docs/get_window_size_and_scrollbar_position.html
http://www.sitepoint.com/article/preserve-page-scroll-position/
http://codepunk.hardwar.org.uk/ajs02.htm
为了确保元素可见,可以使用.scrollIntoView方法
FF 3.5的工作总结:
function isTop() { return window.pageYOffset == 0; } function isBottom() { return window.pageYOffset >= window.scrollMaxY; }