全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

mui上拉加载功能实例详解

最近在做移动端的项目,用到了mui的上拉加载,整理如下:

1、需要引入的css、js

<link rel="stylesheet" href="common/mui/css/mui.min.css" rel="external nofollow" >
<script src="js/jquery-3.2.0.min.js"></script>
<script src="common/mui/js/mui.min.js"></script>

2、静态页的dom结构

<div id="pullrefresh" class="mui-content mui-scroll-wrapper" class="maincon">
<div class="mui-scroll">
<div class="mui-table-view mui-table-view-chevron">
</div>
</div>
</div>

3、静态页面 js对应的代码

<script type="text/javascript">
(function(){
//上拉加载下拉刷新
mui.init({
  pullRefresh: {
  container: '#pullrefresh',
  up: {
    contentrefresh: '正在加载...',
    callback: pullupRefresh
    }
  }
});
//加载更多
var dataNum=12;//获取数据总数
var pageSize=3;//每页显示条数
var counter=1;//计数器
var pageStart=0;//开始数据条数
getData(pageStart,pageSize);
function getData(pageStart,pageSize){
//显示数不足每页显示条数
if(dataNum-pageStart<pageSize){
pageSize=dataNum-pageStart;
data(pageStart,pageSize);
console.log("显示数不足每页显示条数");
}
//显示隐藏加载更多
else if(pageStart+pageSize>=dataNum){
data(pageStart,pageSize);
console.log("没有更多数据了");
//没有更多数据了
}else{
data(pageStart,pageSize);
console.log("显示dataNum"+dataNum+"pageSize"+pageSize+"pageStart"+pageStart);
//显示
}
}
function data(pageStart,pageSize){
//业务
var result="";
for(var i=pageStart;i<(pageStart+pageSize);i++){
result+='<div class="goode-msg">'+
'<div class="goods">'+
'<p class="goode-name">呜呜呜呜</p>'+
'<span class="goods-price">价格:10元</span>'+
'<span class="icon-golden"></span>'+
'<span class="goods-golden">送1111</span>'+
'</div>'+
'<div class="buycon">'+
'<a class="buybtn buybtnabled" onclick="shop(5)">立即购买</a>'+
'</div>'+
'</div>'
}
console.log(jQuery);
jQuery(result).insertBefore('#pullrefresh .mui-scroll .mui-table-view');
}
/**
* 上拉加载具体业务实现
*/
function pullupRefresh() {
setTimeout(function() {
var flag=counter++<(dataNum/pageSize)
console.log(dataNum/pageSize);
mui('#pullrefresh').pullRefresh().endPullupToRefresh((!flag)); //参数为true代表没有更多数据了。
var scroll = document.body.querySelector('.mui-scroll .mui-table-view');
var item = document.body.querySelectorAll('.goode-msg');
console.log(counter);
if(flag){
console.log(counter);
pageStart=counter*pageSize;
data(pageStart,pageSize);
}
}, 1500);
}
})();
</script>

4、与服务端联调时 js做了改动,如下:

 //加载更多
 var pageSize = 15;//每页显示条数
 var counter = 1;//计数器
 var pageStart = 0;//开始数据条数
 var Flag=true;
 data();
 function data() {
  //业务
  var result = "";
  $.ajax({
   type: 'post',
   url: '/xxx/xxx',
   async: false,
   dataType: "json",
   data: {page: counter},
   success: function (data) {
    Flag=data[0].dd==null||data[0].dd==undefined||data[0].dd=='';
//判断是否有返回值 当没有返回值的时候就为空,则代表没有更多数据了
    console.log(Flag);
    if(Flag==false){
     counter++;
    }
    $.each(data[0].dd, function (i, value) {
     result += '<div class="goode-msg">' +
       '<div class="goods">' +
       '<input type="hidden" class="id" value="'+value.id+'">' +
       '<input type="hidden" class="aa" value="'+value.aa+'">' +
       '<p class="goode-name" id="title'+value.id+'">'+value.title+'</p>' +
       '<input type="hidden" class="goods-price-cent" value="'+value.price.cent/100+'">' +
       '<span class="goods-price">价格:<b id="price'+value.id+'">'+value.price.cent/100+'</b>元</span>' +
       '<span class="icon-golden"></span>' +
       '<span class="goods-golden">送<b id="ss'+value.id+'">'+value.ss+'</b>ss</span>' +
       '</div>' +
       '<div class="buycon">' +
       '<a class="buybtn buybtnabled" onclick="shop('+i+')">立即购买</a>' +
       '</div>' +
       '</div>'
    });
    jQuery(result).insertBefore('#pullrefresh .mui-scroll .mui-table-view');
   }
  }
 );
}
/**
 * 上拉加载具体业务实现
 */
function pullupRefresh() {
 setTimeout(function () {
  mui('#pullrefresh').pullRefresh().endPullupToRefresh((Flag)); //参数为true代表没有更多数据了。
  data();
 }, 1500);
}
})();

5、踩的坑

注意:一定要先引入jquery、mui.js否则 js代码会不识别mui。

在jquery中,如果要给动态生成的节点绑定事件,以前要用live,现在用delegate或者on,原理是利用冒泡实现事件委托,也就是给生成节点的父节点预先绑定事件。

以上所述是小编给大家介绍的mui上拉加载功能实例详解,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!


# mui上拉加载  # MUI 上拉刷新/下拉加载功能实例代码  # MUI实现上拉加载和下拉刷新效果  # 加载  # 条数  # 每页  # 绑定  # 小编  # 返回值  # 在此  # 给大家  # 要用  # 要给  # 所述  # 正在加载  # 给我留言  # 服务端  # 感谢大家  # 为空  # 判断是否  # 疑问请  # 有任何  # javascript 


相关文章: 建站DNS解析失败?如何正确配置域名服务器?  免费ppt制作网站,有没有值得推荐的免费PPT网站?  公众号网站制作网页,微信公众号怎么制作?  如何在Golang中引入测试模块_Golang测试包导入与使用实践  网站设计制作书签怎么做,怎样将网页添加到书签/主页书签/桌面?  建站之星展会模板:智能建站与自助搭建高效解决方案  如何快速搭建高效香港服务器网站?  如何配置支付宝与微信支付功能?  极客网站有哪些,DoNews、36氪、爱范儿、虎嗅、雷锋网、极客公园这些互联网媒体网站有什么差异?  临沂网站制作企业,临沂第三中学官方网站?  宝塔建站后网页无法访问如何解决?  ,在苏州找工作,上哪个网站比较好?  如何高效生成建站之星成品网站源码?  网站制作的步骤包括,正确网址格式怎么写?  北京网站制作网页,网站升级改版需要多久?  如何使用Golang table-driven基准测试_多组数据测量函数效率  c# Task.ConfigureAwait(true) 在什么场景下是必须的  c++23 std::expected怎么用 c++优雅处理函数错误返回【详解】  如何制作网站标识牌,动态网站如何制作(教程)?  建站之星免费模板:自助建站系统与智能响应式一键生成  如何通过wdcp面板快速创建网站?  制作网站怎么制作,*游戏网站怎么搭建?  如何用搬瓦工VPS快速搭建个人网站?  外汇网站制作流程,如何在工商银行网站上做外汇买卖?  自助网站制作软件,个人如何自助建网站?  如何快速上传建站程序避免常见错误?  建站之星如何助力企业快速打造五合一网站?  山东网站制作公司有哪些,山东大源集团官网?  相亲简历制作网站推荐大全,新相亲大会主持人小萍萍资料?  如何用低价快速搭建高质量网站?  岳西云建站教程与模板下载_一站式快速建站系统操作指南  javascript中对象的定义、使用以及对象和原型链操作小结  制作ppt免费网站有哪些,有哪些比较好的ppt模板下载网站?  网站制作报价单模板图片,小松挖机官方网站报价?  如何挑选最适合建站的高性能VPS主机?  电脑免费海报制作网站推荐,招聘海报哪个网站多?  建站与域名管理如何高效结合?  建站之星后台搭建步骤解析:模板选择与产品管理实操指南  如何通过FTP服务器快速搭建网站?  如何配置FTP站点权限与安全设置?  如何通过建站之星自助学习解决操作问题?  东莞专业制作网站的公司,东莞大学生网的网址是什么?  如何用景安虚拟主机手机版绑定域名建站?  制作无缝贴图网站有哪些,3dmax无缝贴图怎么调?  网站视频制作书签怎么做,ie浏览器怎么将网站固定在书签工具栏?  如何选择长沙网站建站模板?H5响应式与品牌定制哪个更优?  如何彻底删除建站之星生成的Banner?  正规网站制作公司有哪些,目前国内哪家网页网站制作设计公司比较专业靠谱?口碑好?  网站制作新手教程,新手建设一个网站需要注意些什么?  建站之星CMS建站配置指南:模板选择与SEO优化技巧 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。