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