使用MUI框架模拟手机端的下拉刷新和上拉加载功能


Posted in Javascript onSeptember 04, 2017

mui框架基于htm5plus的XMLHttpRequest,封装了常用的Ajax函数,支持GET、POST请求方式,支持返回json、xml、html、text、script数据类型; 本着极简的设计原则,mui提供了mui.ajax方法,并在mui.ajax方法基础上,进一步简化出最常用的mui.get()、mui.getJSON()、mui.post()三个方法。

套用mui官方文档的一句话:“开发者只需关心业务逻辑,实现加载更多数据即可”。真的是不错的框架。

想更多的了解这个框架:http://dev.dcloud.net.cn/mui/

那么如何实现下拉刷新,上拉加载的功能呢?

首先需要一个容器:

<!--下拉刷新容器-->
<div id="refreshContainer" class="mui-content mui-scroll-wrapper">
<div class="mui-scroll">

<!--数据列表-->


<ul id="testUl" class="mui-table-view mui-table-view-chevron"></ul>

</div>
</div>

然后进行初始化操作,通过mui.init方法中pullRefresh参数配置上拉加载各项参数:

mui.init({
 pullRefresh : {
 container:refreshContainer,//待刷新区域标识,querySelector能定位的css选择器均可,比如:id、.class等
 up : {
 height:50,//可选.默认50.触发上拉加载拖动距离
 auto:true,//可选,默认false.自动上拉加载一次
 contentrefresh : "正在加载...",//可选,正在加载状态时,上拉加载控件上显示的标题内容
 contentnomore:'没有更多数据了',//可选,请求完毕若没有更多数据时显示的提醒内容;
 callback :pullfresh-function //必选,刷新函数,根据具体业务来编写,比如通过ajax从服务器获取新数据;
 }
 }
});

这里重点关注callback参数项,为必选内容,里边写刷新函数,根据具体的业务来写,在实际项目中,通常是通过ajax从服务器获取数据,然后进行html的动态拼接,形成数据项。

下面举一个很简单的例子:(实现上拉加载的功能)

容器:

<!--下拉刷新容器-->
 <div id="refreshContainer" class="mui-content mui-scroll-wrapper">
<div class="mui-scroll">

<!--数据列表-->
 

<ul id="testUl" class="mui-table-view mui-table-view-chevron"></ul>

</div>
 </div>

一会要将数据放到 id=“testUl”的ul标签下,id当然随便取

调用mui.init方法:

<script type="text/javascript">
 mui.init({
  pullRefresh : {
   container:refreshContainer,//待刷新区域标识,querySelector能定位的css选择器均可,比如:id、.class等
   up : {
    height:50,//可选.默认50.触发上拉加载拖动距离
    auto:true,//可选,默认false.自动上拉加载一次
    contentrefresh : "正在加载...",//可选,正在加载状态时,上拉加载控件上显示的标题内容
    contentnomore:'没有更多数据了',//可选,请求完毕若没有更多数据时显示的提醒内容;
    callback: function () {//必选,刷新函数,根据具体业务来编写,比如通过ajax从服务器获取新数据;
     /*每次加载动态的添加一个li*/
     $("#testUl").append($("<li>" + new Date() + "</li>"));
     this.endPullupToRefresh(false);
    } 
    }
    }
    });
</script>

callback参数中,写的是加载函数,每次加载,动态生成一个li标签,用当前时间作为测试数据,贴到id=testUl的ul标签之下。

这里注意callback中的function最后的 this.endPullupToRefresh(false); 表示结束加载,参数可选true或false,true表示结束加载,false继续加载,在实际项目应用中,通常要根据服务器回传的数据量做一下判断。

over!! 这样每次上拉,都会加载一条当前的时间。

总结

以上所述是小编给大家介绍的使用MUI框架模拟手机端的下拉刷新和上拉加载功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
随机显示经典句子或诗歌的javascript脚本
Aug 04 Javascript
js同比例缩放图片的小例子
Oct 30 Javascript
js 弹出新页面避免被浏览器、ad拦截的一种新方法
Apr 30 Javascript
js防止DIV布局滚动时闪动的解决方法
Oct 30 Javascript
DOM中事件处理概览与原理的全面解析
Aug 16 Javascript
JavaScript 限制文本框不可输入英文单双引号的方法
Dec 20 Javascript
JavaScript实现定时页面跳转功能示例
Feb 14 Javascript
ES6 Promise对象概念与用法分析
Apr 01 Javascript
JavaScript之class继承_动力节点Java学院整理
Jul 03 Javascript
js下拉菜单生成器dropMenu使用方法详解
Aug 01 Javascript
BootStrap自定义popover,点击区域隐藏功能的实现
Jan 23 Javascript
简单谈谈javascript高级特性
Sep 04 Javascript
JS图片延迟加载插件LazyImgv1.0用法分析【附demo源码下载】
Sep 04 #Javascript
React教程之Props验证的具体用法(Props Validation)
Sep 04 #Javascript
VueJS组件之间通过props交互及验证的方式
Sep 04 #Javascript
vue中component组件的props使用详解
Sep 04 #Javascript
React-Native中props具体使用详解
Sep 04 #Javascript
用最简单的方法判断JavaScript中this的指向(推荐)
Sep 04 #Javascript
JS与HTML结合实现流程进度展示条思路详解
Sep 03 #Javascript
You might like
欧美媒体选出10年前最流行的17部动画
2017/01/18 日漫
swfupload 多文件上传实现代码
2008/08/27 PHP
php检查字符串中是否包含7位GSM字符的方法
2015/03/17 PHP
老生常谈PHP面向对象之注册表模式
2017/05/26 PHP
如何通过Apache在本地配置多个虚拟主机
2020/07/29 PHP
window.location.hash 属性使用说明
2010/03/20 Javascript
FileUpload 控件 禁止手动输入或粘贴的实现代码
2010/04/07 Javascript
javascript中的document.open()方法使用介绍
2013/10/09 Javascript
JavaScript实现找质数代码分享
2015/03/24 Javascript
Javascript的表单验证长度
2016/03/16 Javascript
基于jquery实现最简单的选项卡切换效果
2016/05/08 Javascript
JavaScript 轮播图和自定义滚动条配合鼠标滚轮分享代码贴
2016/10/28 Javascript
ionic选择多张图片上传的示例代码
2017/10/10 Javascript
浅谈Vue SSR 的 Cookies 问题
2017/11/20 Javascript
html中通过JS获取JSON数据并加载的方法
2017/11/30 Javascript
vue实现后台管理权限系统及顶栏三级菜单显示功能
2019/06/19 Javascript
vue中更改数组中属性,在页面中不生效的解决方法
2019/10/30 Javascript
JavaScript检测是否开启了控制台(F12调试工具)
2020/10/02 Javascript
[53:52]OG vs EG 2018国际邀请赛淘汰赛BO3 第二场 8.23
2018/08/24 DOTA
Python判断某个用户对某个文件的权限
2016/10/13 Python
Python爬虫_城市公交、地铁站点和线路数据采集实例
2018/01/10 Python
Flask Web开发入门之文件上传(八)
2018/08/17 Python
Python实现12306火车票抢票系统
2019/07/04 Python
使用python图形模块turtle库绘制樱花、玫瑰、圣诞树代码实例
2020/03/16 Python
jupyter notebook远程访问不了的问题解决方法
2021/01/11 Python
HTML5在IE10、火狐下中文乱码问题的解决方法
2013/11/18 HTML / CSS
Mytheresa英国官网:拥有160多个奢侈品品牌
2016/10/09 全球购物
旧时光糖果:Old Time Candy
2018/02/05 全球购物
阿拉伯时尚购物网站:Nisnass
2021/02/07 全球购物
一百多行代码实现react拖拽hooks
2021/03/23 Javascript
css animation配合SVG制作能量流动效果
2021/03/24 HTML / CSS
进步之星获奖感言
2014/02/22 职场文书
公司委托书格式范文
2014/04/04 职场文书
自愿离婚协议书范本2016
2016/03/18 职场文书
python opencv检测直线 cv2.HoughLinesP的实现
2021/06/18 Python
不想升级Win11?教你彻底锁定老版Windows系统的方法(附下载地址)
2022/09/23 数码科技