滚屏加载数据重复加载问题


自己写了个滚动加载的代码但是出现一个问题就是滚动会重复加载,请问如何使页面不重复加载


 $(window).on('scroll', function () {
  var btnflag=true;
  if($(document).scrollTop() + $(window).height() > $(document).height() - 100){
    push();
    if(btnflag){
      btnflag=false;
      push();
    }
  };
})
function push() {
//ajax添加数据相关
  btnflag=true;
}

滚动时候数据会重复加载
请输入图片描述

jquery jquery-ajax Ajax JavaScript

路过D酱油君 10 years, 3 months ago

从你的代码来看,在每一次的 scroll 事件中,你的 btnflag 始终为 true ,根本没有起到标识变量的作用。我对代码稍作了些修改,供参考。


 var loading = false;
$(window).on('scroll', function () {
  if($(document).scrollTop() + $(window).height() > $(document).height() - 100){
    if(!loading){
      push();
    }
  };
})
function push() {
  //ajax添加数据相关
  loading = true;
  $.ajax(...)
   .done(function () {
     loading = false;
   });
}

√御星〆灵控 answered 10 years, 3 months ago

Your Answer