mui 下拉刷新ajax,mui 框架中结合mui.ajax实现 下拉刷新和上拉加载功能

实现方式与之前写的jquery weui 下拉刷新和上拉加载功能有点相似,以下是实现过程!

后台返回的数据格式:

7bb426940c0f33035ba58e7b4b4d4c4e.png

页面代码布局:

订单列表

js部分代码:

mui.init({

pullRefresh: {

container: '#pullrefresh',

down: {

callback: pulldownRefresh

},

up: {

contentrefresh: '正在加载...',

callback: pullupRefresh

}

}

});

/**

* 加载数据

*/

var page =1;

var limit = 8;

var isOver = false;//状态标识 是否加载完数据

function getData() {

var html = "";

mui.ajax('/order/listquery', {

data: {

'page': page,

'limit': limit,

'OrderState':83

},

dataType: 'json',

type: 'post',

async: false,

crossDomain: false,

success: function (jsondata) {

console.log(jsondata);

if (jsondata.code == 200) {

var data = jsondata.data.list;

for (var i = 0; i < data.length; i++) {

html += '

';

html += '

  • ';

html += '

订单编号:' + data[i].orderNumber

html += '' + data[i].orderTypeName + '';

html += '

';

html += '

';

html += '名称:' + data[i].GoodsName + '状态:' + data[i].OrderStateName + '';

html += '

';

html += '

';

html += '起运地:' + data[i].OriginatingCity

html += '';

html += '目的地:' + data[i].GoalCity

html += '

';

html += '

';

html += '日期:' + data[i].createDate

html += '

';

html += '

';

html += '查看订单详情';

html += '

';

html += '

';

html += '

';

}

$('#showdata').append(html)

//判断当前页码是否与总页码一致,如果一致则标识为true

if (Math.floor(jsondata.data.total / jsondata.data.limit) == page) {

isOver = true;

} else {

isOver = false; //每次加载结束之后,如果下拉滚动还有数据则++

page++;

}

}

},

});

}

/**

* 下拉刷新具体业务实现

*/

function pulldownRefresh() {

setTimeout(function () {

if (isOver) {

isOver = false;

}

mui('#pullrefresh').pullRefresh().endPulldownToRefresh(); //下拉刷新结束

$('#showdata').html("");

page = 1;

getData();

mui('#pullrefresh').pullRefresh().refresh(true); //重置加载

}, 1500);

}

/**

* 上拉加载具体业务实现

*/

function pullupRefresh() {

setTimeout(function () {

mui('#pullrefresh').pullRefresh().endPullupToRefresh(isOver); //isOver参数为true代表没有更多数据了。

if (isOver == false) { //isOver参数为false则继续加载数据

getData();

}

}, 1500);

}

if (mui.os.plus) {

mui.plusReady(function () {

setTimeout(function () {

mui('#pullrefresh').pullRefresh().pullupLoading();

}, 1000);

});

} else {

mui.ready(function () {

mui('#pullrefresh').pullRefresh().pullupLoading();

});

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MUI框架提供了一个非常方便的下拉刷新组件`mui.pullRefresh`,可以轻松实现下拉刷新功能。具体实现步骤如下: 1. 在需要添加下拉刷新功能的页面引入`mui.js`和`mui.css`文件。 2. 在页面添加一个`mui-content`的div容器,在该容器添加需要下拉刷新的内容。 3. 在该容器上添加`mui-scroll-wrapper`和`mui-scroll`类,使之成为一个可滚动区域。 4. 在该容器上添加`mui-pull-bottom-tips`类,表示底部刷新提示。 5. 在该容器上添加`data-pull-to-refresh="true"`属性,表示支持下拉刷新。 6. 在页面底部添加一个`mui-pull-bottom-wrapper`的div容器,用于实现底部刷新功能,同时在该容器上添加一个`data-autoload="true"`属性,表示页面首次加载时自动触发底部刷新。 7. 在JS文件初始化下拉刷新组件,绑定下拉刷新和底部刷新事件。 下面是一个简单的示例代码: ```html <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>MUI下拉刷新实现示例</title> <meta name="viewport" content="width=device-width,initial-scale=1,user-scalable=0"> <link rel="stylesheet" href="mui.min.css"> </head> <body> <header class="mui-bar mui-bar-nav"> <h1 class="mui-title">MUI下拉刷新实现示例</h1> </header> <div class="mui-content mui-scroll-wrapper"> <div class="mui-scroll"> <ul class="mui-table-view"> <li class="mui-table-view-cell">列表项1</li> <li class="mui-table-view-cell">列表项2</li> <li class="mui-table-view-cell">列表项3</li> <li class="mui-table-view-cell">列表项4</li> <li class="mui-table-view-cell">列表项5</li> </ul> </div> </div> <div class="mui-pull-bottom-wrapper"> <span class="mui-pull-bottom-tips">正在加载...</span> </div> <script src="mui.min.js"></script> <script> mui.init({ pullRefresh: { container: '.mui-scroll-wrapper', down: { callback: function () { setTimeout(function () { mui('.mui-scroll-wrapper').pullRefresh().endPulldownToRefresh(); }, 1000); } }, up: { contentrefresh: '正在加载...', callback: function () { setTimeout(function () { mui('.mui-scroll-wrapper').pullRefresh().endPullupToRefresh(true); }, 1000); } } } }); </script> </body> </html> ``` 注意:在实际开发,需要根据实际需要自定义下和底部刷新的样式和动画效果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值