Jquery在Scroll Speed上加载更多内容

时间:2012-12-31 06:29:06

标签: javascript jquery

我对以下代码有一点问题,它运行正常但是,唯一的问题是当有人在数据未加载时向下滚动几次时,会产生问题,例如它加载相同的数据两次或者它跳过某些部分等等。任何帮助都会非常感激,以控制它的速度。

var num = 0;
$(window).scroll(function(){ 
    if ($(window).scrollTop() == $(document).height() - $(window).height()){
        num = num + 20;
            $.get('load_data.php?load=' + num, function(data){ 
                $('#result').append(data);
        }); 
    }
});

2 个答案:

答案 0 :(得分:1)

一种可能的解决方案是在航点上设置一个标志。

var flag = false;
var num = 0;
$(window).scroll(function(){ 
    if ($(window).scrollTop() == $(document).height() - $(window).height()){      
        if(!flag){
            num += 20;
            $.get('load_data.php?load=' + num, function(data){ 
                 $('#result').html(data);
                 flag = true;
            });
        }
    }
});

这只会触发一次加载的数据。 这可以在页面上特定点的路点上触发。

答案 1 :(得分:1)

这解决了它。

<script type='text/javascript'>
var num = 0;
var a = 1;
$(window).scroll(function(){ 
if ($(window).scrollTop() == $(document).height() - $(window).height()){

    if (a == 1) {
        a = 2;
        num = num + 20;
                $.get('load_data.php?url=<?php echo $url; ?>&load=' + num, function(data){ 
                        $('#result').append(data);
                         flag = true;
                         a = 1;
                });
    }

}
});
</script>