无限卷轴错误,重复下10条记录而不是填充更多

时间:2014-07-29 22:17:03

标签: php jquery mysql wordpress

我没有使用INFINITE SCROLL插件。

我在数据库中有大约545条记录,我现在想一次显示10条记录。(测试目的)

前10个记录完美显示,当我向下滚动时,它也会拉出下一个新的10个记录。不幸的是,它正在重复那些新的10条记录大约10次。

我没有重复新的10条记录,而是希望它能够提取下10条额外的记录,接下来的10条记录以及接下来的10条记录......每次我向下滚动到页面底部。

我的PHP& JQUERY

$stmt = $db -> query ('SELECT * FROM course LIMIT 0,10');
            $count = $db -> query ('SELECT * FROM Course');
            $nbr = $count->rowCount();
<script>
    jQuery(document).ready(function() {
        var load = 0;
        jQuery(window).scroll(function(){
            if(jQuery(window).scrollTop()== jQuery(document).height()-jQuery(window).height())
            {
               load++;
                jQuery.post("ajax.php", {load:load}, function(data){
                    jQuery('.wrap').append(data);
                })
            }
        });
    });

</script>

我的Ajax.php文件

$load = htmlentities(strip_tags($_POST["load"]))*10;

$query = $db -> query ("SELECT * FROM course LIMIT ".$load.",10 ");

while($row = $query->fetch()) {
?>

1 个答案:

答案 0 :(得分:0)

向下滚动时应检查是否已加载。 因此,如果要加载,请添加一个跟踪的变量:

<script>
    jQuery(document).ready(function() {
        var isLoading = false;
        var load = 0;
        jQuery(window).scroll(function(){
            if(!isLoading && jQuery(window).scrollTop()== jQuery(document).height()-jQuery(window).height())
            {
                isLoading = true;
                load++;
                jQuery.post("ajax.php", {load:load}, function(data){
                    jQuery('.wrap').append(data);
                }).always(function() {

                    isLoading = false;

                });
            }
        });
    });

</script>