mui 上拉刷新
1.引入mui.min.css,mui.min.js。
2.创建html需要刷新的html代码段。
3.页数和每页的条数限制
创建自己需要刷新的分页的html代码段
参考作者代码段
<div id="pullrefresh" class="mui-scroll-wrapper">
<div class="mui-scroll">
<div id="showlist" class="showlist">
//showlist放自己需要刷新的列表
//例如
//<li>1</li>
//<li>1</li>
//<li>1</li>
</div>
</div>
</div>
var pageNo = 0;//定义一个页数变量
var id = 0;//好像会用到,我也记不清楚了。。。(ˉ▽ ̄~)
mui.init({
pullRefresh: {//定义一个上拉刷新,这个容器就是上面html定义的pullrefresh
container: '#pullrefresh',
up: {
auto: true,
contentrefresh: '正在加载...',
callback: userPullupRefresh
}
}
});
//好像类似与监听的事件,只要发现有向上拉就会执行这个方法,pageNo加一,执行下面的showlist方法
function userPullupRefresh() {
setTimeout(function() {
pageNo++;
console.log(pageNo);
showlist();
}, 500);//500的意思是毫秒
};
//这个方法用到了公司的内部接口,我就不便展示了,理解逻辑就好(ˉ▽ ̄~)
function showlist() {
$.ajax({
type: 'POST',
url: '这是一个公司的内部接口地址,(一个热搜话题)',
data: {
接口页数参数: pageNo,
接口页数条数限制参数: 16,//一页有16条
},
//调用接口如果成功返回,就会有返回值,这个返回值是一个数组,res数组
success: function(res) {
console.log(res);
var arr = res.data;
mui('#pullrefresh').pullRefresh().endPullupToRefresh(res.pagecount <= pageNo);
if (arr) {
arr.forEach((list, index) => {
var li ='<div class="reshou" data-id="'+list.热搜数据id+'" ><img src="图片在服务器上的地址" style="width:16px; height:16px;"><span id="title" class="title">#' + list.热搜数据的title + '</span></div>';
//将这个li放在上面html的showlist里面去
$(li).appendTo('.showlist');
});
}
},
dataType: 'json'
});
}
总结,最容易犯错的地方就是页数和每页限制的条数,很容易刷新之后数据不更改,假如第一页是1,2,3,刷新一次第二页加第一页应该是1,2,3,4,5,6,可是却还是1,2,3,1,2,3,主要的原因还是页数和每页的限制数出错了