使用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 相关文章推荐
jquery.validate使用攻略 第三部
Jul 01 Javascript
jquery组件使用中遇到的问题整理及解决
Feb 21 Javascript
js获取下拉列表的值和元素个数示例
May 07 Javascript
JavaScript获取浏览器信息的方法
Nov 20 Javascript
JQuery 传送中文乱码问题的简单解决办法
May 24 Javascript
JavaScript实现向select下拉框中添加和删除元素的方法
Mar 07 Javascript
JavaScript实现的搜索及高亮显示功能示例
Aug 14 Javascript
AngularJS中重新加载当前路由页面的方法
Mar 09 Javascript
vue与django集成打包的实现方法
Nov 11 Javascript
vue页面加载时的进度条功能(实例代码)
Jan 13 Javascript
不依任何赖第三方,单纯用vue实现Tree 树形控件的案例
Sep 21 Javascript
jQuery ajax - getScript() 方法和getJSON方法
May 14 jQuery
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
解析PHP自带的进位制之间的转换函数
2013/06/08 PHP
8个必备的PHP功能实例代码
2013/10/27 PHP
php根据指定位置和长度获得子字符串的方法
2015/03/17 PHP
PHP类与对象后期静态绑定操作实例详解
2018/12/20 PHP
laravel框架 api自定义全局异常处理方法
2019/10/11 PHP
二级域名转向类
2006/11/09 Javascript
SUN的《AJAX与J2EE》全文译了
2007/02/23 Javascript
toggle一个div显示或隐藏且可扩展成自定义下拉框
2013/09/12 Javascript
jQuery实现仿Alipay支付宝首页全屏焦点图切换特效
2015/05/04 Javascript
javascript实现禁止复制网页内容汇总
2015/12/30 Javascript
jQuery layui常用方法介绍
2016/07/25 Javascript
nodejs开发——express路由与中间件
2017/03/24 NodeJs
javaScript和jQuery自动加载简单代码实现方法
2017/11/24 jQuery
vue 表单输入格式化中文输入法异常问题
2018/05/30 Javascript
创建echart多个联动的示例代码
2018/11/23 Javascript
独立部署小程序基于nodejs的服务器过程详解
2019/06/24 NodeJs
javaScript 实现重复输出给定的字符串的常用方法小结
2020/02/20 Javascript
[01:08:43]DOTA2-DPC中国联赛定级赛 Phoenix vs DLG BO3第一场 1月9日
2021/03/11 DOTA
浅析Python的Django框架中的Memcached
2015/07/23 Python
Python文件处理
2016/02/29 Python
详解Python如何生成词云的方法
2018/06/01 Python
Python基于多线程实现抓取数据存入数据库的方法
2018/06/22 Python
Python实现购物评论文本情感分析操作【基于中文文本挖掘库snownlp】
2018/08/07 Python
信号生成及DFT的python实现方式
2020/02/25 Python
Python如何操作office实现自动化及win32com.client的运用
2020/04/01 Python
基于python实现matlab filter函数过程详解
2020/06/08 Python
Python实现加密的RAR文件解压的方法(密码已知)
2020/09/11 Python
python画图时设置分辨率和画布大小的实现(plt.figure())
2021/01/08 Python
linux面试题参考答案(5)
2016/11/05 面试题
学校端午节活动方案
2014/08/23 职场文书
政风行风评议心得体会
2014/10/21 职场文书
情侣之间的道歉短信
2015/05/12 职场文书
交通事故被告代理词
2015/05/23 职场文书
团委副书记工作总结
2015/08/14 职场文书
小学数学教师研修感悟
2015/11/18 职场文书
redis击穿 雪崩 穿透超详细解决方案梳理
2022/03/17 Redis