滑动加载更多数据

为解决云环境中大量端口信息展示导致页面加载过慢的问题,本文介绍了一种使用Angular 2.0实现的端口信息延迟加载方案,并详细解析了实现原理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我们有一个用户选择云环境下所有端口展示的方案,因为太多了(上万),一次性加载页面要等5s以上,考虑延迟加载,写了个小demo

代码长这个样子,我是用angular2.0

<div class="father" style="height:100px;overflow:auto;">  
        <div class="child" style='border:1px solid red;margin-top:20px;color:grey;height:200px' ></div>  
</div> 


 ngAfterViewInit() {
    let that = this;
    $(".father").bind("scroll",function(e){
      var sum =this.scrollHeight;
      if(sum <= $(this).scrollTop()+$(this).height()){
        $(".father").append($(".child").clone());
      }
    })
  }
}


我也来解释下下面几个参数


100px的框包含了220px的内容,有滚动条

scrollHeight :就是220px,我理解就是文档的全部高度

scrollTop:滚动条的滚动距离

height:断点看是198(上下1px padding),就是father的高度


那么就是实际窗口高度+滚动条滚动距离 = 文档的全部高度,说明到底了,这时候加载(或者不到底加载,那么再给文档全部高度减去一个自定义常量)




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值