mui 上拉加载 实现分页加载功能,效果图:
分页功能(上拉加载):
1、引入需要的css、js文件
<link href="static/css/mui.css" rel="stylesheet" /> <!-- js --> <script src="static/js/jquery-3.2.0.js"></script> <script src="static/js/mui.min.js"></script>
2、dom结构
<div id="pullrefresh" class="mui-content mui-scroll-wrapper"> <div class="mui-scroll"> <div class="order_list"> </div> </div> </div>
3、动态获取数据,实现上拉加载<script>
(function(){
var lastPage; //总共页数
var currPage=1; //当前页码 var counter=1; //计数器 function getList(){ var result="";
$.ajax({ url:'http://www.aaa.com/api/test/refreshPage?page='+counter, //api type:'get', dataType:"json", timeout:10000, data:{}, error:function(data){ console.log("error") }, success:function(res){ lastPage = res.data.last_page; currPage = res.data.current_page; var data = res.data.data; $.each(data,function(i,value){ result += '<div class="order_item">'
+'<div class="order_title">'
+'<div class="order_number">订单编号:'+value.order_no+'</div>'
+'<div class="order_date">'+value.created_at+'</div>'
+'</div>'
+'<div class="order_msg">'
+'</div>';
);
},
})
}
//上拉加载
mui.init({
pullRefresh : {
container:'#pullrefresh',//待刷新区域标识,querySelector能定位的css选择器均可,比如:id、.class等
up : {
height:50,//可选.默认50.触发上拉加载拖动距离
auto:true,//可选,默认false.自动上拉加载一次
contentrefresh : "正在加载...",//可选,正在加载状态时,上拉加载控件上显示的标题内容
contentnomore:'没有更多数据了',//可选,请求完毕若没有更多数据时显示的提醒内容;
callback :pullupRefresh //必选,刷新函数,根据具体业务来编写,比如通过ajax从服务器获取新数据;
}
}
});
function pullupRefresh(){
setTimeout(function(){
getList();
mui('#pullrefresh').pullRefresh().endPullupToRefresh((++counter>lastPage));
},1500)
}
})();
</script>
注意:
mui中的pullupRefresh会阻止onclick触发事件及a标签链接,可以通过下面方式进行触发事件及跳转:
如:
result += '<div class="item_wrap clearfix" data-url="http://www.baidu.com" id='+value.id+' >' + '<div class="id_wrap" >'+value.id+'</div>' + '<div class="cont_wrap" >' + '<div class="order_no_wrap" >'+value.order_no+'</div>' + '<div class="data_wrap" >'+value.created_at+'</div>' + '</div>' + '</div>';
$(function() { //mui触屏点击 $("#pullrefresh").on('tap', '.item_wrap', function(event) { var url = $(this).attr("data-url"); location.href = url; }); })