vue.js上拉加载
vue.js上拉加载
注意事项:
1.overflow属性会导致滚动事件失效
2.连续下拉会导致数据加载时出现问题,给了1s的延迟
<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta http-equiv="X-UA-Compatible" content="ie=edge"><title>demo</title>
</head><style>* {margin: 0;padding: 0;}[v-cloak] {display: none !important;}html,body {width: 100%;height: 100%;/* overflow-x: hidden; *//* overflow: scroll; */}.empty {height: 800px;}
</style><body><div id="demo" v-cloak><div class="empty"></div><ul><li v-for="item in lists">item</li></ul><h2>{{paging.loadingMessage}}</h2></div>
</body>
<script src="vue.js"></script>
<script>var vum = new Vue({el: "#demo",data: {paging: {PageIndex: 1,PageSize: 10,isTrue: false,showLoading: false,loadingMessage: "上拉加载更多~"}, //分页lists: []},methods: {handleScroll() {var that = this;//判断滚动到底部if (document.body.scrollTop >= document.body.clientHeight - window.screen.availHeight) { //滚动高度>=页面高度-屏幕高度if (that.paging.isTrue) {setTimeout(function() {that.paging.PageIndex++;that.paging.showLoading = true;that.paging.loadingMessage = "正在加载中~";that.getList();}, 1000); //防止连续下拉that.paging.isTrue = false;}}},getList() {var that = this;let datas = [];for (let i = 0; i < 10; i++) {datas.push({i})}that.paging.PageIndex == 1 ? that.lists = datas : that.lists = that.lists.concat(datas);if (datas.length < that.paging.PageSize) {that.paging.isTrue = false;that.paging.loadingMessage = "暂时没有更多消息了哦~";} else {that.paging.isTrue = true;that.paging.loadingMessage = "上拉加载更多~";}}},mounted() {//监听滚动window.addEventListener('scroll', () => {this.handleScroll();});//初始加载数据setTimeout(() => {this.getList();}, 1000);}})
</script></html>
vue.js上拉加载相关推荐
- php mescroll,mescroll.js上拉加载下拉刷新组件使用详解
本文实例为大家分享了上拉加载下拉刷新组件mescroll.js的具体代码,供大家参考,具体内容如下 使用注意事项: 1.引入的时候出问题及时看官方给出的解决方案(基本上都必须看): 2.react中一 ...
- js上拉加载ajax数据,原生ajax写的上拉加载实例
上拉加载的思路 1 上拉加载是要把屏幕拉到最底部的时候触发ajax事件请求数据 2.所有要获取屏幕的高度 文档的高度 和滚动的高度 下面的代码是已经做好了兼容的可以直接拿来用 Javascript: ...
- vue 实现上拉加载下拉刷新(思路贼清晰)
项目需要用到上拉刷新下拉加载 所以自己手动实现了一个 组件: <template><div class="my-scroll" :class="[scr ...
- vue 实现上拉加载下拉刷新(思路清晰)
项目需要用到上拉刷新下拉加载 所以自己手动实现了一个 组件: <template><div class="my-scroll" :class="[scr ...
- vue vant上拉加载 下拉刷新
index.vue <van-pull-refresh v-model="isLoading" @refresh="onRefresh"> < ...
- vue 实现上拉加载
其实就是在 mounted添加 window.addEventListener("scroll", this.handleScroll, true); 实时获取 scrollTop ...
- 小程序解决上拉加载更多时数据超过1024KB
参考: 如果解决小程序1024kb渲染之坑 小程序渲染数据超过 1024k 的解决办法 新手不会用组件,只能自己再弄一个简单一点的解决,直接上代码. app.js // arr 数组,len 长度, ...
- vue实现网络图片瀑布流 + 下拉刷新 + 上拉加载更多
一.思路分析和效果图 用vue来实现一个瀑布流效果,加载网络图片,同时有下拉刷新和上拉加载更多功能效果.然后针对这几个效果的实现,捋下思路: 根据加载数据的顺序,依次追加标签展示效果: 选择哪种方式实 ...
- 上拉加载_如何用Vue + Mint UI实现上拉加载更多
引言: 上拉加载更多在移动端不论是在 app 里面还是在页面中都是必不可少的,以下是 mint-ui 中上拉加载更多的总结. 一.在项目中使用 mint-ui 需要先安装 查看官网 (1)安装:npm ...
最新文章
- iOS开发-开发总结
- 央视在世界杯高清直播中占了C位 它是怎么做到的?
- 数据结构 图的深度优先遍历 C
- 如何自学JSP。--摘抄http://hi.baidu.com/comasp
- 什么是Freedoc?Freedoc是什么?
- 2016年工作总结和计划
- 基于 Android NDK 的学习之旅-----环境搭建
- QT| C/C++之win98扫雷外挂增强版
- Bootstrap 3: 菜单居中 Center content in responsive bootstrap navbar
- python求解比一个给定的数字大的最小对称数
- Warning the user/local/mysql/data directory is not owned by the mysql user
- 综合评价方法之秩和比法(RSR)
- 【NLP】自然语言处理技术在自动生成足球比赛战报上的应用
- CameraLink传输协议
- Linux九阴真经之大伏魔拳残卷4 nginx(模型,安装配置,模块)
- 此 Google 帐号尚未与设备关联。要安装应用,请先访问设备上的 Play 商店应用。 了解详情
- C语言中的#if语句使用
- access调整字段顺序_Microsoft Access中的顺序行
- CentOS切换中文拼音安装包时:zw 不在 sudoers 文件中。此事将被报告。【记录】
- REXROTH力士乐减压阀3DR16P5-5X/100Y/00M
热门文章
- linux离线升级软件,Ubuntu离线升级方法
- Linux可以打开cdr文件吗,CDR 文件扩展名: 它是什么以及如何打开它?
- DataFrame行列求和,指定列求和,指定行求和
- dnf服务器消息,DNF:手游延期一周年,阿拉德之怒紧急加开服务器,上线还排队...
- 抖音新版抓包方案,绕过sslpinning 直接修改so 抓https数据包
- react16常见api以及原理剖析
- 不可不懂的UG编程片体转实体技巧
- 交通银行签约易观千帆,全面升级数智能力
- Uni-App - 模板语法 - 数据绑定
- 秦九韶算法如何应用到计算机,《秦九韶算法》说课稿——获奖说课稿