开发者社区> 问答> 正文

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

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

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

滚动时候数据会重复加载
screenshot

展开
收起
云栖技术 2016-05-25 10:16:49 2037 0
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;
       });
    }
    2019-07-17 19:13:38
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
4个迭代,从批量交...1573957773.pdf 立即下载
低代码开发师(初级)实战教程 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载