列表滚动到底部自动加载更多

在移动端,经常会用到列表滚动到底部,拉一下加载更多,或者点一下加载更多等等,今天我说说我的一个实现的思路。

通过监听列表的滚动时间,当用户滚动到列表的底部,并停留一小段时间,便认为用户想要加载下一页的数据,当用户滚回列表的顶部时,展示刷新的按钮,点击便可刷新。

以下是实现的思路,比较粗糙,欢迎各位朋友提出建议。

HTML代码

  • 点击刷新
  • //列表*n

    ……

js代码

(function () {

var lastScrollTop = 0;

var timer = null;

document

.getElementById('cnt')

.addEventListener('scroll', function (e) {

if (timer) {

clearTimeout(timer);

timer = null;

}

var target = e.currentTarget;

var listCnt = document.getElementsByClassName('listCnt')[0];

var loadMore = document.getElementById('loadMore');

var curScrollTop = target.scrollTop;

var scrollDown = curScrollTop - lastScrollTop > 0;

var scrollUp = !scrollDown;

var targetHeight = target.offsetHeight;

var listCntHeight = listCnt.offsetHeight;

var isEnd = curScrollTop + targetHeight === listCntHeight;

var isTop = curScrollTop === 0;

if (isTop) {

//想要性能好点,可以加个定时器,不要每次滚到头部都刷新

return loadMore.style.display = 'block';

}

if (isEnd) {

//停留时间请根据实际情况调整

timer = setTimeout(function () {

//loadMoreFn

console.info('loadMore')

}, 2000)

}

loadMore.style.display = 'none';

});

})();

写得匆忙,以上代码没有考虑浏览器的兼容性问题,如:addEventListener等

html5到底部自动加载,列表滚动到底部自动加载更多相关推荐

  1. Jetpack Compose 无限加载列表(滚到底部自动加载更多)

    Android 中使用 ListView 或者 RecycleView 经常有滚动到底部自动 LoadMore 的需求,那么在 Compose 中该如何实现呢? 两种方法可供选择: 基于 paging ...

  2. php ajax 加载列表,Ajax点击不断加载数据列表(图文教程)

    这篇文章主要介绍了Ajax点击不断加载数据列表的相关资料,需要的朋友可以参考下 Ajax简介 AJAX即"Asynchronous Javascript And XML"(异步Ja ...

  3. 1.RecyclerView设置clipToPadding=“false“,scrollbars无法跟随列表滚动到底部的解决方案

    记录一下,工作遇到的一个问题 <?xml version="1.0" encoding="utf-8"?> <androidx.recycle ...

  4. html+监听+页面滚动到底部,JS监听页面滚动到底部事件

    敏捷开发之Scrum扫盲篇 现在敏捷开发是越来越火了,人人都在谈敏捷,人人都在学习Scrum和XP... 为了不落后他人,于是我也开始学习Scrum,今天主要是对我最近阅读的相关资料,根据自己的理解, ...

  5. 滚动加载--优化滚动性能

    背景 最近有用阿里云 sdk 中的日志服务,在它的 api 里发现它并不支持分页查询,倒是有个 offset 指定日志起点,所以需要配合鼠标滚动做一个懒加载. 思路 最容易想到的就是做一个底部检测,当 ...

  6. 小程序scroll-view,滚动到最低_小程序滚动到底部

    小程序scroll-view,滚动到最低_小程序滚动到底部 小程序滚动条,滚到最底部解决方案1 小程序滚动到底部使用Scorll-view实现方案: scrill-view:组件要固定高度. scro ...

  7. html底部自动加载下一页,js页面滚动到底部时自动加载下一页数据

    一段滚动到页面底部自动加载更多数据的js代码,需要jquery.js . jquey.tmpl.js 支持 var Data = { PageCount: 1, PageSize: 30, IsCom ...

  8. [转]ListView滚动到底部自动加载数据

    转自:http://blog.csdn.net/shineflowers/article/details/41744241 在Android中有很多时候会选择用ListView加载数据,有的是分批加载 ...

  9. 【实现手机端上滑滚动加载列表】判断页面是否滚动到底部或者指定元素位置

    <script> export default {data() {return {pageIndex: 0,//页码pageSize: 10,//每次加载条数lock: false,//防 ...

最新文章

  1. AI芯片体系结构目标图形处理
  2. win7压缩包安装mysql_win7怎么安装mysql5.7.13压缩文件图解
  3. matlab 调用opencv,matlab调用opencv (mac 或 linux)
  4. python开发之路目录
  5. android layout wrap_content,android-如果高度为WRAP_CONTENT,则不显示VideoVi...
  6. zabbix如何监控linux磁盘性能IO
  7. java filewriter写入文件_Java中的写入字符文件类FileWriter
  8. python挖矿脚本_利用公共WiFi挖矿的Python脚本(注:仅作研究使用)
  9. Python 核心编程 (全)
  10. gulp压缩图片插件大比拼
  11. Cesium-Fullscreen全屏显示
  12. SNPS IP LPDDR4 调试
  13. 编程小知识之 虚假唤醒(spurious wakeup)
  14. 【机器学习】机器学习中无意识偏见的分析与预防
  15. 被誉为现代电子计算机之父是,成教云: 人们习惯上尊称图灵为现代电子计算机之父。...
  16. 2018年,硅谷的P2P公司们为啥没跑路?
  17. iOS关于APP唤醒和在后台做的事
  18. 360城市全景,开启全新城市探索方式
  19. Tomcat部署war程序
  20. 论文写作学习之引言章节撰写(学习深度之眼课程笔记,侵删)

热门文章

  1. 与女儿谈商业模式 (2):为什么星巴克会这么成功?
  2. java项目-第59期ssm项目源码嘟嘟健身房管理系统
  3. 测试常用Linux命令
  4. 虚拟磁带库(VTL)的基本知识和采购指南
  5. mysql 1243_MySQL-proxy代理导致PHP PDO::ATTR_EMULATE_PREPARES的预处理出错,MySQL报General error: 1243错误...
  6. ansys选择一个面上所有节点_利用APDL命令选择椭球面上的节点
  7. 支持python的开发板_PYNQ-Z1:支持Python编程的Zynq开发板
  8. 机器学习算法——评价指标汇总
  9. 解决所有在Google drive上下载文件的问题
  10. 自动计算出你电脑需要购买多大功率的电源才合适你