首页 > 语言 > JavaScript > 正文

MUI 上拉刷新/下拉加载功能实例代码

2024-05-06 15:18:29
字体:
来源:转载
供稿:网友

新闻信息列表必备的功能,支持Table,Ul等列表.

以下是DIV版本,在安卓端或者ios端必须使用双webview模式,传送门:http://dev.dcloud.net.cn/mui/pulldown/

<!--下拉刷新容器--><div id="pullrefresh" class="mui-content mui-scroll-wrapper"> <div class="mui-scroll">  <!--数据列表-->  <ul class="mui-table-view">  </ul> </div></div><script type="text/javascript"> mui.init ({ pullRefresh:  {  container: '#pullrefresh',  down: {  callback: pulldownRefresh  },  up: {  contentrefresh: '正在加载...',  callback: pullupRefresh  } } }); /* * 下拉刷新具体业务实现 */ function pulldownRefresh()  { setTimeout(function()  {  var table = document.body.querySelector('.mui-table-view');  var cells = document.body.querySelectorAll('.mui-table-view-cell');  //模拟数据  for (var i = cells.length, len = i + 3; i < len; i++) {  var li = document.createElement('li');  li.className = 'mui-table-view-cell';  li.innerHTML = '<a class="mui-navigate-right">Item ' + (i + 1) + '</a>';  //下拉刷新,新纪录插到最前面;  table.insertBefore(li, table.firstChild);  }  mui('#pullrefresh').pullRefresh().endPulldownToRefresh(); //refresh completed }, 1500); } var count = 0; /* * 上拉加载具体业务实现 */ function pullupRefresh()  { setTimeout(function() {  mui('#pullrefresh').pullRefresh().endPullupToRefresh((++count > 2)); //参数为true代表没有更多数据了。  var table = document.body.querySelector('.mui-table-view');  var cells = document.body.querySelectorAll('.mui-table-view-cell');  for (var i = cells.length, len = i + 20; i < len; i++) {  var li = document.createElement('li');  li.className = 'mui-table-view-cell';  li.innerHTML = '<a class="mui-navigate-right">Item ' + (i + 1) + '</a>';  table.appendChild(li);  } }, 1500); } if (mui.os.plus) { mui.plusReady(function() {  setTimeout(function() {  mui('#pullrefresh').pullRefresh().pullupLoading();  }, 1000); }); } else  {  mui.ready(function() {  mui('#pullrefresh').pullRefresh().pullupLoading(); }); }</script>

 个人心得

1、手动加载loading,并且会立即调用[下拉刷新]绑定的函数

mui('#pullrefresh').pullRefresh().pullupLoading(); //使用这个之后,自动会加载[下拉刷新]绑定的函数

2、停止上拉刷新和下拉加载的loading

mui('#pullrefresh').pullRefresh().endPullupToRefresh(num >= cnt); //参数可以为返回true/false的表达式mui('#pullrefresh').pullRefresh().endPulldownToRefresh();

3、初始化

初始化时通常要将原数据列表清空,如:$("#mui-table-view").html("");

那么请务必将以下代码放置在清空代码之后.这和scroll的滚动性质有关

mui('#pullrefresh').pullRefresh().refresh(true);  //恢复滚动mui('#pullrefresh').pullRefresh().scrollTo(0,0,100); //滚动置顶            
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

图片精选