mui用ajax上拉加载更多,mui上拉加载更多的使用

demo地址

mui框架中上拉加载的坑

1、在函数自己上拉加载行为后的回调函数

2、在mui封装的上拉加载中,点击某一项会失效。

解决方法

1、该函数是必须要写的,用来写自己的逻辑需求,但是一般情况下,需要设置显示为“加载更多”还是“没有更多数据了”。看了一些博客和官方文档,基本上都把这个设置放在了定时器中并在定时器中调用获取数据的方法(自己的业务需求)。

2、在mui封装的上拉加载中,点击某一项会失效。这个是真的很坑。就是采用事件监听的方式,阻止默认行为

示例代码

mui('选择器').on('tap','选择器',function(e){

e.preventDefault();

//自己的业务逻辑

})

一开始我将上述代码放在了mui.plusready()函数里面,可是事件并没有触发,所以,当我将它mui.plusready()中拿出来,事件就起作用了,我并不知道这是为什么,如果你偶尔看到这篇文章,可以告诉我一下。

demo代码

window.onload = function () {

/*750代表设计师给的设计稿的宽度,你的设计稿是多少,就写多少;100代表换算比例,这里写100是

为了以后好算,比如,你测量的一个宽度是100px,就可以写为1rem,以及1px=0.01rem等等*/

getRem(750, 100)

};

window.onresize = function () {

getRem(750, 100)

};

function getRem(pwidth, prem) {

var html = document.getElementsByTagName("html")[0];

var oWidth = document.body.clientWidth || document.documentElement.clientWidth;

html.style.fontSize = oWidth / pwidth * prem + "px";

}

关于mui的上拉加载

.mui-content {

background: #fff;

}

h2 {

font-size: 0.28rem;

line-height: .6rem;

padding-left: 10px;

}

.mui-scroll-wrapper {

top: .75rem;

}

上拉加载

  • list1

  • list2

  • list3

  • list4

(function ($, doc) {

var listContainer = doc.getElementById('listContainer');

mui.init({

pullRefresh: {

container: '#pullRefresh',//待刷新区域标识,querySelector能定位的css选择器均可,比如:id、.class等

up: {

height: 50,//可选.默认50.触发上拉加载拖动距离

auto: true,//可选,默认false.自动上拉加载一次

contentrefresh: "正在加载...",//可选,正在加载状态时,上拉加载控件上显示的标题内容

contentnomore: '没有更多数据了',//可选,请求完毕若没有更多数据时显示的提醒内容;

callback: pullfreshFunc //必选,刷新函数,根据具体业务来编写,比如通过ajax从服务器获取新数据;

}

}

});

var flag = true, counter = 1, pageSize = 10;

function pullfreshFunc() {

setTimeout(function () {

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

getData();

}, 500);

}

function getData() {

mui.ajax({

type: 'get',

url: '../json/data.json',

data: {'counter': counter},

success: function (response) {

console.log(response);

let list = response.peopleList;

let html = "";

flag = !(list[0] == null || list[0] == "" || !list[0]);

if (flag) {

counter++;

}

for (let i = 0; i < list.length; i++) {

html += '

' + list[i].name + '';

}

jQuery('#listContainer').append(html)

},

error: function (error) {

console.log(error)

}

})

}

//点击单项事件

// mui中上拉加载中的坑1:点击事件失效(不需要放在mui.plusReady()中)

mui('#pullRefresh').on('tap', 'li.mui-table-view-cell', function (e) {

e.preventDefault();

console.log('触发点击事件了')

})

}(mui, document))

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值