我想进行一些无限滚动以摆脱网站上的分页。但是,我发现此滚动功能似乎有些古怪。向上滚动似乎会触发。有没有一种方法只能在向下滚动时触发滚动事件?另外,似乎没有滚动条,就根本不会触发,就像跟踪页面的运动一样,而不是按下鼠标滚轮,箭头或空格键。任何好的滚动检测功能?
$(window).scroll(function () {
if ($(window).scrollTop() >= $(document).height() - $(window).height() - 10) {
//infinite scrolling is the idea
}
});
Run Code Online (Sandbox Code Playgroud)
谢谢!
您正在寻找的公式是
document.body.scrollTop >= (document.body.scrollHeight - window.innerHeight - 50)
Run Code Online (Sandbox Code Playgroud)
假设您的body元素实际上没有设置,height并且overflow没有设置为hidden或scroll。
只要您保持在50像素阈值以内,这也可以向上滚动。但是,您可以保存以前的滚动偏移量,并且仅在增加滚动偏移量时才执行某些操作。
var lastScrollTop = 0;
$(window).scroll(function(e) {
var body = $("body")[0],
scrollTop = body.scrollTop;
if (scrollTop > lastScrollTop) {
if (scrollTop >= (body.scrollHeight - window.innerHeight - 50)) {
// do something
}
}
lastScrollTop = scrollTop;
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5987 次 |
| 最近记录: |