ios 下拉刷新后重置控件后,自动执行一次上拉加载;安卓上不会出现这样的问题。请问如何解决。
/**
-
下拉刷新具体业务实现
*/
function pulldownRefresh() {
setTimeout(function() {
//业务逻辑
var table = document.body.querySelector('.mui-table-view');
var cells = document.body.querySelectorAll('.mui-table-view-cell');
table.innerHTML="";
for (var i = 0, len = 5; 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);
}
//该方法的作用是关闭“正在更新”的样式提示,内容区域回滚顶部位置
mui('#pullrefresh').pullRefresh().endPulldownToRefresh();
//重置上拉加载控件
mui('#pullrefresh').pullRefresh().refresh(true);
}, 1000);}
/**
- 上拉加载具体业务实现
*/
function pullupRefresh() {
setTimeout(function() {
//业务逻辑
var table = document.body.querySelector('.mui-table-view');
var cells = document.body.querySelectorAll('.mui-table-view-cell');
var i=0;
for (i = cells.length, len = i + 5; 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);
}
//是否还有更多数据;若还有更多数据,则传入false;
//否则传入true,之后滚动条滚动到底时,将不再显示“上拉显示更多”的提示语,而显示“没有更多数据了”的提示语
if(i>=15){
mui('#pullrefresh').pullRefresh().endPullupToRefresh(true);
}else{
mui('#pullrefresh').pullRefresh().endPullupToRefresh(false);
}
}, 1000);
}
4 个回复
语嫣
其实下拉很简单 可以试试论坛里某大神写的 mescroll
链接我忘了 可以百度一下官网
d***@wsdinfo.com (作者) - it
我刚刚试了一下 将mui.js里面
_initPullupRefresh: function() {
//this.pulldown = false;
if (this.bottomPocket) {
this.pullPocket = this.bottomPocket;
this.pullPocket.classList.add(CLASS_BLOCK);
this.pullPocket.classList.add(CLASS_VISIBILITY);
this.pullCaption = this.bottomCaption;
this.pullLoading = this.bottomLoading;
}
}
注释this.pulldown = false;这句话,ios上就正常了
我也不是太清楚这句话的意义,但是注释掉ios正常
n***@gmail.com
你用的什么版本的mui.js,上传一个能复现问题的demo吧
d***@wsdinfo.com (作者)
Mui v3.7.0 版本的
2017-07-31 10:16
d***@wsdinfo.com (作者)
demo我刚刚上传了
2017-07-31 10:18
d***@wsdinfo.com (作者) - it
附件是demo程序