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

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

$(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;
}

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

阅读 8.2k
1 个回答

从你的代码来看,在每一次的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;
   });
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏