微信小程序 下拉刷新及上拉加载原理解析


Posted in Javascript onNovember 06, 2019

这篇文章主要介绍了微信小程序 下拉刷新及上拉加载实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

1.下拉刷新的概念及应用场景。

概念: 下拉刷新是移动端更新列表数据的交互行为,用户通过手指在屏幕上子上而下的滑动,可以触发页面的下拉刷新,更新列表数据。

应用场景: 在移动端,数据列表是常见的页面效果,更新列表数据是最基本的页面需求,相比于按钮刷新,定时刷新来说,下拉刷新的用户体验方便友好,已经成为移动端刷新列表数据的最佳解决方案。

微信小程序启动下拉刷新:

两种方式:

1.需要在app.json 的window选项中或页面配置中开启enablePullDownRefresh, 但是,一般情况下,推荐在页面配置中为需要的页面单独开启下拉刷新行为。

2.可以通过wx.startPullDownRefresh() 触发下拉刷新,调用后触发下拉刷新动画,效果与用户手动下拉刷新一致。

配置下拉刷新窗口的样式:

需要在app.json 的window选项中或页面配置中修改backbroundColor 和backgroundTextStyle 选项。

backgroundColor: 用来配置下拉刷新窗口的背景颜色,仅支持16进制颜色值。

backgroundTextStyle 用来配置下拉刷新loading 的样式,仅支持dark和light

onPullDownRefresh: 页面相关事件处理函数--监听用户下拉操作时执行

停止下拉刷新效果:

当处理万下拉刷新后,下拉刷新的loading 效果会一直显示,不会主动消失,需要手动隐藏下拉刷新的loading效果,此时,跳用wx.stopPullDownRefresh()可以停止当前页面的下拉刷新。

上拉加载更多

1.上拉加载更多的概念及应用场景。

概念: 在移动端,随着手指不断向上滑动,当内容将要到达屏幕底部的时候,页面会随之不断的加载后续内容,知道没有新内容位置,我们称之为上拉加载更多,上拉加载更多的本质就是数据的分页加载。

应用场景: 在移动端,列表数据的分页加载,首选的实现方式就是上拉加载更多。

配置上拉触底的距离:

可以在app.json的window 选项上或页面配置中设置触底的距离 onReachBottomDistance 单位为px,默认触底距离为50px。

监听上拉触底事件:onReachBottom() 函数,可以监听用户在当前页面的上拉触底事件,从而实现上拉加载更多列表数据的效果。

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

Javascript 相关文章推荐
jQuery AnythingSlider滑动效果插件
Feb 07 Javascript
js中将URL中的参数提取出来作为对象的实现代码
Aug 16 Javascript
做好七件事帮你提升jQuery的性能
Feb 06 Javascript
Extjs 4.x 得到form CheckBox 复选框的值
May 04 Javascript
jquery实现叠层3D文字特效代码分享
Aug 21 Javascript
一种新的javascript对象创建方式Object.create()
Dec 28 Javascript
jQuery中deferred对象使用方法详解
Jul 14 Javascript
Javascript 实现微信分享(QQ、朋友圈、分享给朋友)
Oct 21 Javascript
vue中子组件调用兄弟组件方法
Jul 06 Javascript
js对象数组和对象的使用实例详解
Aug 27 Javascript
JavaScript将数组转换为链表的方法
Feb 16 Javascript
JavaScript 事件代理需要注意的地方
Sep 08 Javascript
vue 解决文本框被键盘遮住的问题
Nov 06 #Javascript
vue点击页面空白处实现保存功能
Nov 06 #Javascript
vue  elementUI 表单嵌套验证的实例代码
Nov 06 #Javascript
微信小程序网络请求实现过程解析
Nov 06 #Javascript
vue 自定义右键样式的实例代码
Nov 06 #Javascript
vue elementUI 表单校验的实现代码(多层嵌套)
Nov 06 #Javascript
vue 解决computed修改data数据的问题
Nov 06 #Javascript
You might like
收听短波不可能有声音清晰的品质吗
2021/03/01 无线电
在PHP中使用X-SendFile头让文件下载更快
2014/06/01 PHP
Yii Framework框架获取分类下面的所有子类方法
2014/06/20 PHP
ThinkPHP打开验证码页面显示乱码的解决方法
2014/12/18 PHP
PHP简单获取网站百度搜索和搜狗搜索收录量的方法
2016/08/23 PHP
laravel 使用auth编写登录的方法
2019/09/30 PHP
YII2框架使用控制台命令的方法分析
2020/03/18 PHP
PHP如何获取Cookie并实现模拟登录
2020/07/16 PHP
列表内容的选择
2006/06/30 Javascript
完美解决JS中汉字显示乱码问题(已解决)
2006/12/27 Javascript
(function(){})()的用法与优点
2007/03/11 Javascript
Javascript 日期处理之时区问题
2009/10/08 Javascript
jquery dialog键盘事件代码
2010/08/01 Javascript
Extjs单独定义各组件的实例代码
2013/06/25 Javascript
一个js控制的导航菜单实例代码
2013/12/03 Javascript
jQuery实现三级菜单的代码
2016/05/09 Javascript
AngularJS入门教程之表格实例详解
2016/07/27 Javascript
NodeJS和BootStrap分页效果的实现代码
2016/11/07 NodeJs
jQuery利用sort对DOM元素进行排序操作
2016/11/07 Javascript
canvas绘制的直线动画
2017/01/23 Javascript
关于jQuery.ajax()的jsonp碰上post详解
2017/07/02 jQuery
javascript 跨域问题以及解决办法
2017/07/17 Javascript
使用node.js对音视频文件加密的实例代码
2017/08/30 Javascript
p5.js入门教程之图片加载
2018/03/20 Javascript
vue 项目接口管理的实现
2019/01/17 Javascript
Python实现自定义函数的5种常见形式分析
2018/06/16 Python
python re.sub()替换正则的匹配内容方法
2019/07/22 Python
对Pytorch中nn.ModuleList 和 nn.Sequential详解
2019/08/18 Python
python实现在线翻译功能
2020/03/03 Python
Matplotlib 折线图plot()所有用法详解
2020/07/28 Python
小学庆六一活动方案
2014/02/28 职场文书
文科毕业生自荐书范文
2014/04/17 职场文书
工程部经理岗位职责
2015/02/02 职场文书
为自己工作观后感
2015/06/11 职场文书
老乡会致辞
2015/07/28 职场文书
千万级用户系统SQL调优实战分享
2022/03/03 MySQL