5

我正在使用这个小脚本来定义用户是否滚动到底部

$(window).scroll(function(){

    if($(window).scrollTop() == $(document).height() - $(window).height()){
        if(!taskFired){
            taskFired = true;
            $("#loading_gif").css("display", "block");
            setTimeout(loadMoreMabs, 1500);
        }
    }

});

但我不希望它在到达底部之前触发函数 loadMoreMabs 。我该怎么做?我已经尝试过 + 和 - 高度,但这就像我正在尝试一些我并没有真正得到的东西。

4

1 回答 1

8

你的问题标题表明你想要什么

从 50 之类的值中减去一个值$(document).height(),开始从底部加载 50 个像素。

if($(window).scrollTop() <= ($(document).height() - 50) - $(window).height()){

这是 jsfiddle 中的一个小演示,我制作了一个虚拟函数来实现 loadMoreMabs 函数

http://jsfiddle.net/sg3s/UwXaw/

每次接近底部并且 1500 毫秒到期时触发。

现在让它(立即)只有在它到达最底部时才会触发。

(因为它实际上暗示了其他东西)

http://jsfiddle.net/sg3s/UwXaw/1/

诀窍可能是>=等式中的,确保它在 scrollTop 与文档减去窗口高度相同或更高时触发......

于 2012-06-05T18:19:04.523 回答