“无限卷轴”式。在底部之前将它点燃

时间:2012-06-05 18:15:19

标签: jquery

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

$(window).scroll(function(){

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

});

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

1 个答案:

答案 0 :(得分:8)

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

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

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

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

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

每次靠近底部时触发,1500ms到期。

现在只有当它到达最底层时才能点燃(立即)。

(因为它实际上暗示了别的东西)

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

诀窍可能是等式中的>=,如果scrollTop与文档相同或高于窗口高度,则确保触发...