使用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 相关文章推荐
动态标签 悬停效果 延迟加载示例代码
Nov 21 Javascript
jsPDF生成pdf后在网页展示实例
Jan 16 Javascript
jquery插件NProgress.js制作网页加载进度条
Jun 05 Javascript
Position属性之relative用法
Dec 14 Javascript
详解vue与后端数据交互(ajax):vue-resource
Mar 16 Javascript
Three.js利用Detector.js插件如何实现兼容性检测详解
Sep 26 Javascript
jQuery无冲突模式详解
Jan 17 jQuery
大转盘抽奖小程序版 转盘抽奖网页版
Apr 16 Javascript
JS实现点击生成UUID的方法完整实例【基于jQuery】
Jun 12 jQuery
浅谈vuex为什么不建议在action中修改state
Feb 02 Javascript
如何使用jQuery操作Cookies方法解析
Sep 08 jQuery
ant design vue中日期选择框混合时间选择器的用法说明
Oct 27 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
php5中类的学习
2008/03/28 PHP
PHP中去掉字符串首尾空格的方法
2012/05/19 PHP
部署PHP时的4个配置修改说明
2015/10/19 PHP
php版微信开发Token验证失败或请求URL超时问题的解决方法
2016/09/23 PHP
visual studio code 调试php方法(图文详解)
2017/09/15 PHP
实例讲解PHP中使用命名空间
2019/01/27 PHP
PHP命名空间定义与用法实例分析
2019/08/14 PHP
jQuery 1.0.4 - New Wave Javascript(js源文件)
2007/01/15 Javascript
如何做到打开一个页面,过几分钟自动转到另一页面
2007/04/20 Javascript
理解Javascript_07_理解instanceof实现原理
2010/10/15 Javascript
JavaScript函数详解
2014/11/17 Javascript
浅析javascript中的DOM
2015/03/01 Javascript
AngularJS ng-controller 指令简单实例
2016/08/01 Javascript
JS中解决谷歌浏览器记住密码输入框颜色改变功能
2017/02/13 Javascript
Vue报错:Uncaught TypeError: Cannot assign to read only property’exports‘ of object’#‘的解决方法
2017/06/17 Javascript
webstorm中vue语法的支持详解
2018/05/09 Javascript
Vue实现自定义下拉菜单功能
2018/07/16 Javascript
JS如何获取地址栏的参数实例讲解
2018/10/06 Javascript
js实现碰撞检测
2021/01/29 Javascript
python发送邮件的实例代码(支持html、图片、附件)
2013/03/04 Python
python调用cmd命令行制作刷博器
2014/01/13 Python
python访问系统环境变量的方法
2015/04/29 Python
python使用pandas实现数据分割实例代码
2018/01/25 Python
Numpy数组的保存与读取方法
2018/04/04 Python
对python while循环和双重循环的实例详解
2019/08/23 Python
pytorch下使用LSTM神经网络写诗实例
2020/01/14 Python
python 字符串的驻留机制及优缺点
2020/06/19 Python
python实现经纬度采样的示例代码
2020/12/10 Python
HTML5对手机页面长按会粘贴复制禁用的解决方法
2016/07/19 HTML / CSS
美国知名女性服饰品牌:New York & Company
2017/03/23 全球购物
HSRP的含义以及如何工作
2014/09/10 面试题
检讨书范文2000字
2015/01/28 职场文书
个人培训总结
2015/03/05 职场文书
python xlwt模块的使用解析
2021/04/13 Python
MySQL Server 层四个日志
2022/03/31 MySQL
怎么禁用Win11输入法 最新Win11输入法关闭教程
2022/08/05 数码科技