js下拉加载更多-详解

简介: js下拉加载更多-详解

场景


有些时候,我们在pc端经常会遇见滚动到底部的时候,去加载下一页的数据,


这个时候,我们就需要知道滚动条什么时候触底了,


如果触底了,就去加载下一页的数据;


在触底的过程中,我们需要注意的是,防止数据堆叠;


<style type="text/css">
  .bottom-content{
    height: 500px;
    width: 660px;
    overflow-y: auto;
    border: 1px solid #ccc;
  }
  .day-item{
    height: 50px;
    line-height: 50px;
  }
</style>


<body>
  <div id="app">
    <div class="bottom-content" ref="contentList">
      <div
        class="day-item"
        v-for="(dayItem, dayIndex) in everdayHomeWorkList"
        :key="dayIndex"
      >
        {{dayItem.cont }}
      </div>
    </div>
  </div>
</body>


<script>
new Vue({
  el: '#app',
  data: function() {
  return { 
    everdayHomeWorkList:[
       {cont:"我们建议使用 CDN 引入 Element 的看 unpkg.com。"},
       {cont:"我们建议使用 CDN 引入 址上锁定版本,以免将"},
       {cont:"我们建议使用 CDN 引入 Elem影响。锁定版本的方法kg.com。"},
       {cont:"我们建议使用 CDN 引入 Element 的上锁定版本om。"},
       {cont:"我们建议使用 CDN 引入 Element 的用户上锁查看 unpkg.com。"},
       {cont:"我们建议使用 CDN 引入 Element 的用户在定版本,"},
       {cont:"我们建议使用 CDN 引入 Element 的用户在"},
       {cont:"我们建议使用 CDN 引入 Element 的用com。"},
       {cont:"我们建议使用 CDN 引入 Element 的用m。"},
       {cont:"我们建议使用非兼容性更新的影响。.com。"},
       {cont:"我们建议使用 CDN 引入 Elemem。"},
       {cont:"我们建议使用 CDN 引入 Element以免将"},
       {cont:"我们建议使用 CDN 引入 Element 方法.com。"},
       {cont:"我们建议使用 CDN 引入 Element 的用户在链接地。"},
       {cont:"我们建议使用 CDN 引入 Elementpkg.com。"},
       {cont:"我们建议使用 CDN 引入 Element 的用户在链接地址上锁定版本,"},
       {cont:"我们建议使用 CDN 引入 Element 的用户在"},
       {cont:"我们建议使用 CDN 引入 Element 的用户在链接unpkg.com。"},
       {cont:"我们建议使用 CDN 引入 Element 。"},
       {cont:"我们建议使用非兼容性更新的影响。锁定版本的方om。"}
    ],
    canscroll:true,
    papeIndex:1
  }
},
mounted() {
  let contentList = this.$refs.contentList;
  contentList.addEventListener('scroll', () => {
    if(this.canscroll) {
      let scrollTop = contentList.scrollTop;              // 获取div滚动离顶部的距离
      let listHight = contentList.clientHeight;           // 获取div自身的的高度
      let scrollHeight = contentList.scrollHeight;        // 获取div滚动区域的高度
      if(scrollTop + listHight === scrollHeight){
        this.papeIndex++;
        console.log("到底了")
        this.request_api();//发送请求
      }else{
      }
    }
  })
},
methods:{
  request_api(){
    // 发送请求,成功后,将canscroll 重置
  }
}
})
</script>


1425695-20210327110105390-1131092210.gif



相关实践学习
Serverless极速搭建Hexo博客
本场景介绍如何使用阿里云函数计算服务命令行工具快速搭建一个Hexo博客。
相关文章
|
4月前
|
JavaScript 前端开发
JS下拉筛选功能
JS下拉筛选功能
|
Web App开发 JavaScript 前端开发
javascript实现中国各大城市快速下拉选择
如果开发中遇到需要输入城市名的页面,那么这个特效可以帮助快速输入。这是一个纯js实现的效果,可以快速的输入城市名称,支持鼠标点击选择,输入城市的拼音或者拼音首字母,使用方便。可以在输入框中通过点击生成包含中国各个城市的下拉列表,进行快速选择,快速切换定位。体验效果:http://hovertree.
2340 0
|
前端开发 JavaScript Java
JS-事件之鼠标、键盘都能控制的下拉选框效果
window.onload=function(e){ var box=document.getElementById('divselect'), title=box.
891 0
|
2月前
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp的客户关系管理系统附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp的客户关系管理系统附带文章源码部署视频讲解等
73 2
|
2月前
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp的宠物援助平台附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp的宠物援助平台附带文章源码部署视频讲解等
65 4
|
2月前
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp的宠物交易平台附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp的宠物交易平台附带文章源码部署视频讲解等
58 4
|
2月前
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp的大学生入伍人员管理系统附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp的大学生入伍人员管理系统附带文章源码部署视频讲解等
72 4
|
2月前
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp的小区物流配送系统附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp的小区物流配送系统附带文章源码部署视频讲解等
75 3