我没有使用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()) {
?>
答案 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>