Javascript:如何检测浏览器窗口是否滚动到底部?
我需要检测用户是否滚动到页面的底部。 如果他们在页面的底部,当我向底部添加新内容时,我会自动将它们滚动到新的底部。 如果他们不在底部,他们正在读取页面上更高的内容,所以我不想自动滚动他们,因为他们想保持他们在哪里。
如何检测用户是滚动到页面底部还是滚动页面上方?
window.onscroll = function(ev) {
if ((window.innerHeight + window.scrollY) >= document.body.offsetHeight) {
// you're at the bottom of the page
}
};
看演示
支持所有主流浏览器的更新代码(包括IE10和IE11)
window.onscroll = function(ev) {
if ((window.innerHeight + window.pageYOffset) >= document.body.offsetHeight) {
alert("you're at the bottom of the page");
}
};
目前接受的答案的问题是window.scrollY
在IE中不可用。
以下是mdn关于scrollY的引用:
为了实现跨浏览器兼容性,请使用window.pageYOffset而不是window.scrollY。
和一个工作片段:
window.onscroll = function(ev) {
if ((window.innerHeight + window.pageYOffset ) >= document.body.offsetHeight) {
alert("you're at the bottom of the page");
}
};
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
接受的答案不适合我。 这样做:
window.onscroll = function(ev) {
if ((window.innerHeight + window.scrollY) >= document.body.scrollHeight) {
// you're at the bottom of the page
console.log("Bottom of page");
}
};
链接地址: http://www.djcxy.com/p/83343.html
上一篇: Javascript: How to detect if browser window is scrolled to bottom?
下一篇: jQuery : on horizontal scroll tell which element is in viewport