当用户到达页面末尾时减去x像素数量即可加载页面

时间:2019-01-30 16:30:34

标签: javascript jquery

我有一个用于检测页面结尾的函数。当到达末尾时,它会触发加载更多内容的函数。这似乎对我来说很好用,但对其他用户(屏幕不如我大)不起作用。我认为这与一张大桌子有关,这把所有东西都扔掉了。

无论如何,我现在要执行的操作不是在页面末尾加载,而是在页面末尾加载-100像素或我需要的任意数量的像素。这是我的代码:

win.scroll(function() {
    // End of the document reached?


    var docHeight = $(document).height();
    var winHeight = win.height();
    var scTop = win.scrollTop();        

    if (docHeight - winHeight == scTop) {
        if(!allRecords){
            populateAssignments();
        }
    }
}); 

现在,我尝试了从docHeight或winHeight或scrollTop中减去100的不同组合,但似乎没有任何效果。任何想法?

1 个答案:

答案 0 :(得分:1)

您不能真正信任具有滚动功能和window.scroll的用户在特定时间触发。你应该在这里使用逻辑运算符。尝试进行比较,如果它是更大的价值:

if (docHeight - winHeight > scTop) {

应该可以。您的第一个和不同的组合可能都是正确的。这里只有逻辑是有缺陷的。使用大于运算符。