Javascript Jquery在滚动速度上加载更多
我对下面的代码有一点问题,它工作正常,但是,唯一的问题是,当有人在数据未加载的情况下向下滚动几次时,会产生问题,例如加载相同的数据两次或跳过某些部分,等等。。任何帮助都将非常感谢,以控制这一速度Javascript Jquery在滚动速度上加载更多,javascript,jquery,Javascript,Jquery,我对下面的代码有一点问题,它工作正常,但是,唯一的问题是,当有人在数据未加载的情况下向下滚动几次时,会产生问题,例如加载相同的数据两次或跳过某些部分,等等。。任何帮助都将非常感谢,以控制这一速度 var num = 0; $(window).scroll(function(){ if ($(window).scrollTop() == $(document).height() - $(window).height()){ num = num + 20;
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);
});
}
});
一个可能的解决方案是在航路点上设置一个标志
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;
});
}
}
});
这将只触发加载的数据一次。
这可以在页面上特定点的航路点发射。这就解决了这个问题
<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>
var num=0;
var a=1;
$(窗口)。滚动(函数(){
if($(窗口).scrollTop()==$(文档).height()-$(窗口).height()){
如果(a==1){
a=2;
num=num+20;
$.get('load_data.php?url=&load='+num,函数(数据){
$(“#结果”)。追加(数据);
flag=true;
a=1;
});
}
}
});
感谢您的回答,但是,当我输入上述代码时,仍然存在问题,即它加载20行,然后加载20个新的,然后加载20个旧的,等等:(可能与var num有关。在代码中添加了一个编辑。请尝试在if语句中使用增量。另外,为了避免附加到旧的HTML,请尝试使用HTML()函数替换加载的节点。让我知道这是如何工作的。很高兴听到这个消息。它看起来与我在上面使用的原则相同。干杯。