A5下载站:努力做内容最丰富最安全的下载站! 网站地图最新更新下载排行专题软件发布

热门软件

地铁跑酷

冒险迷岛

全民迷宫

连连消大作战

小河狸创客

阿里健康医鹿

支付宝app

番薯小说

MOMO陌陌

虾米音乐app

位置导航:A5下载 > 源码技巧 > 父类数据

HBuilder mui 下拉刷新

时间:2015-05-19 10:57来源:未知作者:sa浏览:2953
为实现下拉刷新功能,大多H5框架都是通过DIV模拟下拉回弹动画,在低端android手机上,DIV动画经常出现卡顿现象(特别是图文列表的情况); mui通过双webview解决这个DIV的拖动流畅度问题;拖动时,拖动的不是div,而是一个完整的webview(子webview),回弹动……

为实现下拉刷新功能,大多H5框架都是通过DIV模拟下拉回弹动画,在低端android手机上,DIV动画经常出现卡顿现象(特别是图文列表的情况); mui通过双webview解决这个DIV的拖动流畅度问题;拖动时,拖动的不是div,而是一个完整的webview(子webview),回弹动画使用原生动画;在iOS平台,H5的动画已经比较流畅,故依然使用H5方案。两个平台实现虽有差异,但mui经过封装,可使用一套代码实现下拉刷新。

主页面内容比较简单,只需要创建子页面即可:

mui.init({

subpages:[{

url:pullrefresh-subpage-url,//下拉刷新内容页面地址

id:pullrefresh-subpage-id,//内容页面标志

styles:{

top:subpage-top-position,//内容页面顶部位置,需根据实际页面布局计算,若使用标准mui导航,顶部默认为48px;

.....//其它参数定义

}

}]

});

内容页面需按照如下DOM结构构建:

<!--下拉刷新容器-->

<div id="refreshContainer" class="mui-content mui-scroll-wrapper">

<div class="mui-scroll">

<!--数据列表-->

<ul class="mui-table-view mui-table-view-chevron">

</ul>

</div>

</div>

其次,通过mui.init方法中pullRefresh参数配置下拉刷新各项参数,如下:

mui.init({

pullRefresh : {

container:"#refreshContainer",//下拉刷新容器标识,querySelector能定位的css选择器均可,比如:id、.class等

down : {

contentdown : "下拉可以刷新",//可选,在下拉可刷新状态时,下拉刷新控件上显示的标题内容

contentover : "释放立即刷新",//可选,在释放可刷新状态时,下拉刷新控件上显示的标题内容

contentrefresh : "正在刷新...",//可选,正在刷新状态时,下拉刷新控件上显示的标题内容

callback :pullfresh-function //必选,刷新函数,根据具体业务来编写,比如通过ajax从服务器获取新数据;

}

}

});

最后,根据具体业务编写刷新函数,需要注意的是,加载完新数据后,需要执行endPulldownToRefresh()方法;

function pullfresh-function() {

//业务逻辑代码,比如通过ajax从服务器获取新数据;

......

//注意,加载完新数据后,必须执行如下代码,注意:若为ajax请求,则需将如下代码放置在处理完ajax响应数据之后
mui('#pullrefreshContainer').pullRefresh().endPulldownToRefresh();

}