(function($, ze, win) {
//刷新容器
var pullrefresh = document.getElementById("pullrefresh");
//起始页
var startPage = 0;
//每页页数
var pageSize = 10;
//上拉还是下拉的标识符 true为下拉,false为上拉
var flag = true;
$.init({
pullRefresh : {
container:"#pullrefresh",
down : {
callback : pullDownFresh
},
up : {
// contentrefresh: "正在加载...",
callback : pullUpFresh
}
}
});
$.plusReady(function(){
});
function pullDownFresh(){
//每次下拉刷新先清空list
startPage = 1;
flag = true;
$("#pullrefresh").pullRefresh().refresh(true);
ze("#listdata").html("");
setTimeout(function() {
suqiu_ajax();
}, 500);
}
function pullUpFresh(){
startPage++;
flag = false;
// $("#pullrefresh").pullRefresh().refresh(true);
setTimeout(function() {
suqiu_ajax();
}, 500);
}
$.plusReady(function(){
//首次进入刷新
loadPage();
});
win.loadPage = function(){
ze("#listdata").html("");
startPage = 0;
pullUpFresh();
}
win.suqiu_ajax = function(){
suqiu_data = {
methodName: interfaceUrls.Appeal_getAppealList,
startPage: startPage,
pageSize: pageSize
};
if(flag){
my_ajax(suqiu_data,suqiu_success,xsuqiu_error);
}else{
my_ajax(suqiu_data,suqiu_success,ssuqiu_error);
}
}
win.suqiu_success = function(response){
console.log(JSON.stringify(response));
if(response.returnCode == 1){
if(response.AppealList){
var litemplate = "<li class='mui-table-view-cell' id='{{rowGuid}}'>"+
"<div class='zjg-person zjg-f-l'>"+
"<a class='zjg-person-link' href='#'>"+
"<i class='zjg-person-icon'></i>"+
"<h3>{{displayname}}</h3>"+
"</a>"+
"</div>"+
"<div class='zjg-appeal-con'>"+
"<div class='zjg-title-box mui-clearfix'>"+
"<div class='zjg-appeal-status mui-clearfix'>"+
"<i class='zjg-appeal-dealing-iron'></i>"+
"<span class='zjg-appeal-dealing'>处理中</span>"+
"</div>"+
"<h2 class='zjg-appeal-title zjg-color-orange'>{{title}}</h2>"+
"</div>"+
"<p class='zjg-appeal-p'>{{rwInfo}}</p>"+
"<span class='zjg-appeal-date'>{{startDate}}</span>"+
"</div>"+
"</li>";
var litemplate1 = "<li class='mui-table-view-cell' id='{{rowGuid}}'>"+
"<div class='zjg-person zjg-f-l'>"+
"<a class='zjg-person-link' href='#'>"+
"<i class='zjg-person-icon'></i>"+
"<h3>{{displayname}}</h3>"+
"</a>"+
"</div>"+
"<div class='zjg-appeal-con'>"+
"<div class='zjg-title-box mui-clearfix'>"+
"<div class='zjg-appeal-status mui-clearfix'>"+
"<i class='zjg-appeal-finished-iron'></i>"+
"<span class='zjg-appeal-finished'>已办结</span>"+
"</div>"+
"<h2 class='zjg-appeal-title zjg-color-orange'>{{title}}</h2>"+
"</div>"+
"<p class='zjg-appeal-p'>{{rwInfo}}</p>"+
"<span class='zjg-appeal-date'>{{startDate}}</span>"+
"</div>"+
"</li>";
ze.each(response.AppealList, function(key, value) {
if (value.clStatus == 0) {
var output = Mustache.render(litemplate, value);
} else {
var output = Mustache.render(litemplate1, value);
}
ze("#listdata").append(output);
});
//加载完成后执行end方法
if (flag) {
$(pullrefresh).pullRefresh().endPulldownToRefresh();
} else {
$(pullrefresh).pullRefresh().endPullupToRefresh(false);
}
}else{
//如果没有数据了,上拉加载提示没有数据
if (flag) {
$(pullrefresh).pullRefresh().endPulldownToRefresh();
} else {
$(pullrefresh).pullRefresh().endPullupToRefresh(true);
}
}
//先移除之前绑定的事件,再进行绑定
ze(".mui-table-view-cell").unbind();
//列表绑定点击监听
ze(".mui-table-view-cell").on('tap',function(){
//将页面内容存入html中
var html = this.innerHTML;
plus.storage.setItem("appeal_html",html);
plus.storage.setItem("appeal_id",this.id);
closeAndOpenPage("appeal-detail.html","appeal-detail");
// callEvent("appeal-detail","refresh",{
// id:this.id,
// con:html
// });
});
}else{
if (flag) {
$(pullrefresh).pullRefresh().endPulldownToRefresh();
} else {
$(pullrefresh).pullRefresh().endPullupToRefresh(false);
}
}
}
//下拉错误
win.xsuqiu_error = function(){
//请求超时时,也要关闭
if(flag){
$(pullrefresh).pullRefresh().endPulldownToRefresh();
}else{
$(pullrefresh).pullRefresh().endPullupToRefresh(false);
}
}
//上拉错误
win.ssuqiu_error = function(){
//请求超时时,将起始页-1,防止出现下次加载到第二页的情况
startPage--;
if(flag){
$(pullrefresh).pullRefresh().endPulldownToRefresh();
}else{
$(pullrefresh).pullRefresh().endPullupToRefresh(false);
}
}
//添加刷新事件
win.addEventListener("myRefresh",function(){
loadPage();
});
})(mui, Zepto, window);
我的想法是上拉没有数据的时候,调用$(pullrefresh).pullRefresh().endPullupToRefresh(true); 这个方法让他显示没有更多数据,然后在我再次下拉加载的时候,调用$("#pullrefresh").pullRefresh().refresh(true);这个方法将上拉重置,在android上可以正常实现,但是在ios上,当上拉到没有数据后再下拉,不能重置,还是显示没有更多数据,而且,下拉也会无法正常获取数据,请问这是什么问题?
6 个回复
野原新之助
同样的问题,你解决了吗?
yanqy_
同样的问题 请问你是怎么解决的
DCloud_UNI_FXY
升级更新使用最新版本的mui
d***@126.com - 老了!
升级到8.0.1也不行,期待指点一下!
1***@163.com
参考
http://ask.dcloud.net.cn/article/452
坑了几个小时,瞬间搞定
信誉
dbc111.com/api/r/C/B/ufpnfuh3rk
火狐浏览器 ,瞬间搞定。