全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

vue2滚动条加载更多数据实现代码

解析:

判断滚动条到底部,需要用到DOM的三个属性值,即scrollTop、clientHeight、scrollHeight。

scrollTop为滚动条在Y轴上的滚动距离。

clientHeight为内容可视区域的高度。

scrollHeight为内容可视区域的高度加上溢出(滚动)的距离。

从这个三个属性的介绍就可以看出来,滚动条到底部的条件即为scrollTop + clientHeight == scrollHeight。(兼容不同的浏览器)。

代码:

1.vue的实现

html:

<div class="questionList-content-list">
   <ul>
    <li v-for="item in questionListData" @click="goDetail(item.id)">
     {{item.create_time}}
     [{{item.level_value}}]
    {{item.description}}
     {{item.status_value}}
    </li>
   </ul>
  </div>

js:

created () {
   var self = this
   $(window).scroll(function () {
    let scrollTop = $(this).scrollTop()
    let scrollHeight = $(document).height()
    let windowHeight = $(this).height()
    if (scrollTop + windowHeight === scrollHeight) {
     self.questionListData.push({
      'id': '62564AED8A4FA7CCDBFBD0F9A11C97A8',
      'type': '0102',
      'type_value': '数据问题',
      'description': '撒的划分空间撒电话费看见爱上对方见客户速度快解放哈萨克接电话发生的划分空间是的哈副科级哈师大空间划分可接受的后方可抠脚大汉房间卡收到货放假多少',
      'status': '0',
      'status_value': '未解决',
      'level': '0203',
      'level_value': '高',
      'content': '过好几个号',
      'userid': 'lxzx_hdsx',
      'create_time': 1480296174000,
      'images': null
     })
     self.questionListData.push({
      'id': 'D679611152737E675984D7681BC94F16',
      'type': '0101',
      'type_value': '需求问题',
      'description': 'a阿斯顿发生丰盛的范德萨范德萨发十多个非官方阿道夫葛根粉v跟下载v',
      'status': '0',
      'status_value': '未解决',
      'level': '0203',
      'level_value': '高',
      'content': '秩序性支出V型从v',
      'userid': 'lxzx_hdsx',
      'create_time': 1480296155000,
      'images': null
     })
     self.questionListData.push({
      'id': 'B5C61D990F962570C34B8EE607CA1384',
      'type': '0104',
      'type_value': '页面问题',
      'description': '回复的文本框和字体有点丑',
      'status': '0',
      'status_value': '未解决',
      'level': '0203',
      'level_value': '高',
      'content': '回复的文本框和字体有点丑',
      'userid': 'lxzx_hdsx',
      'create_time': 1480064620000,
      'images': null
     })
     self.questionListData.push({
      'id': '279F9571CB8DC36F1DEA5C8773F1793C',
      'type': '0103',
      'type_value': '设计问题',
      'description': '设计bug,不应该这样设计。',
      'status': '0',
      'status_value': '未解决',
      'level': '0204',
      'level_value': '非常高',
      'content': '设计bug,不应该这样设计。你看。',
      'userid': 'lxzx_hdsx',
      'create_time': 1480064114000,
      'images': null
     })
     self.questionListData.push({
      'id': '80E365710CB9157DB24F08C8D2039473',
      'type': '0102',
      'type_value': '数据问题',
      'description': '数据列表滚动条问题',
      'status': '0',
      'status_value': '未解决',
      'level': '0202',
      'level_value': '中',
      'content': '数据列表在数据条数比较多的情况下无滚动条',
      'userid': 'lxzx_hdsx',
      'create_time': 1480034606000,
      'images': null
     })
     console.log(self.questionListData)
    }
   })
  },

因为vue2 实现了m-v双向绑定,所以这里直接改变for循环数据源即可实现列表的数据刷新;

2: 普通js的实现

html:

<div id="content" style="height:960px" class="questionList-content-list"> 
  <ul> 
    <li class="list"> 
   <span测试1</span>
     <span>测试2</span>
     <span>测试3</span>
     <span>测试4</span>
     <span>测试5</span>
     <span>测试6</span>
     <span>测试7</span>
     <span>测试8</span>
     <span>测试9</span>
     <span>测试10</span>
     <span>测试11</span>
    </li> 
  </ul> 
</div>

js:

var html = ''       //距下边界长度/单位px
  $(window).scroll(function () {
   var scrollTop = $(this).scrollTop();
   var scrollHeight = $(document).height();
   var windowHeight = $(this).height();
   if (scrollTop + windowHeight == scrollHeight) {
    for(let i=0;i<10;i++){
     html += '<li>Page: ' + i + ', Data Index: ' + i + ' </li>'
    }
    $('#content ul').append(html);
   }
  });

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# vue  # 加载数据  # vue2.0  # vue.js  # vue2.0 element-ui中el-select选择器无法显示选中的内容(解决方法)  # vue2中的el-select组件数据太多  # 如何实现滚动加载数据效果  # 滚动条  # 哈萨克  # 文本框  # 你看  # 速度快  # 好几个  # 比较多  # 即为  # 绑定  # 接电话  # 大家多多  # 就可以  # 条数  # 可接受  # 实现了  # 情况下  # 阿斯顿  # 性支出  # 副科级  # 阿道夫 


相关文章: 百度网页制作网站有哪些,谁能告诉我百度网站是怎么联系?  利用JavaScript实现拖拽改变元素大小  香港服务器网站测试全流程:性能评估、SEO加载与移动适配优化  C++如何编写函数模板?(泛型编程入门)  如何在云指建站中生成FTP站点?  建站上传速度慢?如何优化加速网站加载效率?  如何自定义建站之星网站的导航菜单样式?  武汉网站如何制作,黄黄高铁武穴北站途经哪些村庄?  建站之星如何配置系统实现高效建站?  如何用低价快速搭建高质量网站?  建站之星如何助力企业快速打造五合一网站?  建站之星安装后如何配置SEO及设计样式?  建站之星安装后界面空白如何解决?  移民网站制作流程,怎么看加拿大移民官网?  如何选购建站域名与空间?自助平台全解析  深圳网站制作案例,网页的相关名词有哪些?  建站之星后台管理:高效配置与模板优化提升用户体验  免费网站制作模板下载,除了易企秀之外还有什么H5平台可以制作H5长页面,最好是免费的?  XML的“混合内容”是什么 怎么用DTD或XSD定义  名字制作网站免费,所有小说网站的名字?  nginx修改上传文件大小限制的方法  广州网站制作公司哪家好一点,广州欧莱雅百库网络科技有限公司官网?  成都网站制作报价公司,成都工业用气开户费用?  如何在阿里云香港服务器快速搭建网站?  ,有什么在线背英语单词效率比较高的网站?  ,南京靠谱的征婚网站?  导航网站建站方案与优化指南:一站式高效搭建技巧解析  如何快速搭建二级域名独立网站?  南平网站制作公司,2025年南平市事业单位报名时间?  制作网站建设的公司有哪些,网站建设比较好的公司都有哪些?  如何将凡科建站内容保存为本地文件?  如何通过cPanel快速搭建网站?  如何规划企业建站流程的关键步骤?  网站制作怎么样才能赚钱,用自己的电脑做服务器架设网站有什么利弊,能赚钱吗?  如何在企业微信快速生成手机电脑官网?  临沂网站制作公司有哪些,临沂第四中学官网?  如何在搬瓦工VPS快速搭建网站?  SQL查询语句优化的实用方法总结  重庆网站制作公司哪家好,重庆中考招生办官方网站?  如何用免费手机建站系统零基础打造专业网站?  高防服务器如何保障网站安全无虞?  品牌网站制作公司有哪些,买正品品牌一般去哪个网站买?  如何挑选最适合建站的高性能VPS主机?  如何制作网站标识牌,动态网站如何制作(教程)?  c++如何打印函数堆栈信息_c++ backtrace函数与符号名解析【方法】  免费制作小说封面的网站有哪些,怎么接网站批量的封面单?  南京网站制作费用,南京远驱官方网站?  如何在云服务器上快速搭建个人网站?  如何用好域名打造高点击率的自主建站?  专业公司网站制作公司,用什么语言做企业网站比较好? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。