使用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参数的小问题
Mar 02 Javascript
js 遍历对象的属性的代码
Dec 29 Javascript
js实现文本框选中的方法
May 26 Javascript
详解vue 实例方法和数据
Oct 23 Javascript
javaScript中&quot;==&quot;和&quot;===&quot;的区别详解
Mar 16 Javascript
jquery实现的简单轮播图功能【适合新手】
Aug 17 jQuery
vue2使用keep-alive缓存多层列表页的方法
Sep 21 Javascript
使用Jenkins部署React项目的方法步骤
Mar 11 Javascript
ES6小技巧之代替lodash
Jun 07 Javascript
vue项目使用高德地图的定位及关键字搜索功能的实例代码(踩坑经验)
Mar 07 Javascript
解决vue项目router切换太慢问题
Jul 19 Javascript
js在HTML的三种引用方式详解
Aug 29 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
php empty函数判断mysql表单是否为空
2010/04/12 PHP
PHP原生模板引擎 最简单的模板引擎
2012/04/25 PHP
laravel model 两表联查示例
2019/10/24 PHP
Laravel5.1 框架Middleware中间件基本用法实例分析
2020/01/04 PHP
纯CSS3实现质感细腻丝滑按钮
2021/03/09 HTML / CSS
添加到收藏夹代码(兼容几乎所有的浏览器)
2007/01/09 Javascript
JavaScript设置FieldSet展开与收缩
2009/05/15 Javascript
javascript 限制输入脚本大全
2009/11/03 Javascript
网页中返回顶部代码(多种方法)另附注释说明
2013/04/24 Javascript
node.js [superAgent] 请求使用示例
2015/03/13 Javascript
基于OL2实现百度地图ABCD marker的效果
2015/10/01 Javascript
网络传输协议(http协议)
2016/11/18 Javascript
Jquery 整理元素选取、常用方法一览表
2016/11/26 Javascript
Vue.js 2.0中select级联下拉框实例
2017/03/06 Javascript
vue使用Axios做ajax请求详解
2017/06/07 Javascript
微信小程序使用image组件显示图片的方法【附源码下载】
2017/12/08 Javascript
解决低版本的浏览器不支持es6的import问题
2018/03/09 Javascript
微信小程序实现登录遮罩效果
2018/11/01 Javascript
如何为vue的项目添加单元测试
2018/12/19 Javascript
JavaScript 格式化数字、金额、千分位、保留几位小数、舍入舍去
2019/07/23 Javascript
JS实现打砖块游戏
2020/02/14 Javascript
玩转python selenium鼠标键盘操作(ActionChains)
2020/04/12 Python
python中子类继承父类的__init__方法实例
2016/12/15 Python
python中logging库的使用总结
2017/10/18 Python
Python cookbook(数据结构与算法)从序列中移除重复项且保持元素间顺序不变的方法
2018/03/13 Python
完美解决python3.7 pip升级 拒绝访问问题
2019/07/12 Python
python如何实现从视频中提取每秒图片
2020/10/22 Python
详解Django admin高级用法
2019/11/06 Python
HTML5中在title标题标签里设置小图标的方法
2020/06/23 HTML / CSS
美国户外烹饪产品购物网站:Outdoor Cooking
2020/01/10 全球购物
园林毕业生自我鉴定范文
2013/12/29 职场文书
展会邀请函范文
2014/01/26 职场文书
会计电算化专业自荐信
2014/03/15 职场文书
动漫设计与制作专业推荐信
2014/07/07 职场文书
病房管理制度范本
2015/08/06 职场文书
table不让td文字溢出操作方法
2022/12/24 HTML / CSS