1、我们先看效果

2、功能分析

主要分为3步

  1. 数据初始化
  2. 下拉刷新
  3. 上拉加载

接口数据示例:

 {
"List": [
{
"Id": 9,
"OrderCode": "1070010106490008",
"PhoneModel": "三星 盖乐世s6 白色",
"UserName": "张三",
"Status": 3,
"Message": null,
"CreatedDate": "2016-09-29 15:23"
},
{
"Id": 8,
"OrderCode": "1070010106490007",
"PhoneModel": "三星 盖乐世s6 白色",
"UserName": "张三",
"Status": 2,
"Message": null,
"CreatedDate": "2016-09-29 15:23"
}
],
"TotalRecords": 4
}

js代码:

 mui.init();
(function($) {
//阻尼系数
var deceleration = mui.os.ios ? 0.003 : 0.0009;
$('.mui-scroll-wrapper').scroll({
bounce: false,
indicators: true, //是否显示滚动条
deceleration: deceleration
});
$.ready(function() {
//循环初始化所有下拉刷新,上拉加载。
$.each(document.querySelectorAll('.mui-slider-group .mui-scroll'),
function(index, pullRefreshEl) {
$(pullRefreshEl).pullToRefresh({
down: {
callback: function() {
var self = this;
setTimeout(function() {
try {
var ul = self.element.querySelector('.mui-table-view');
var ul_id = ul.id; var arr = ul_id.split("-");
var obj = list_item[arr[1]]; jQuery("#" + obj.id).empty();
load_items(obj);
} catch(e) { } finally {
self.endPullDownToRefresh();
}
}, 1000);
}
},
up: {
callback: function() {
var self = this;
setTimeout(function() {
try {
var ul = self.element.querySelector('.mui-table-view');
var ul_id = ul.id; var arr = ul_id.split("-");
var obj = list_item[arr[1]];
var pageIndex = parseInt(obj.pageIndex) + 1;
obj.pageIndex = pageIndex; load_items(obj);
} catch(e) { } finally {
self.endPullUpToRefresh();
}
}, 1000); }
}
});
});
var createFragment = function(ul, index, count, reverse) {
var length = ul.querySelectorAll('li').length;
var fragment = document.createDocumentFragment();
var li;
for(var i = 0; i < count; i++) {
li = document.createElement('li');
li.className = 'mui-table-view-cell';
li.innerHTML = '第' + (index + 1) + '个选项卡子项-' + (length + (reverse ? (count - i) : (i + 1)));
fragment.appendChild(li);
}
return fragment;
};
});
})(mui); var list_item = [{
id: "shz",
status: 0,
statusName: "审核中",
pageIndex: 1,
pageSize: 10
}, {
id: "ywc",
status: 1,
statusName: "已完成",
pageIndex: 1,
pageSize: 10
}, {
id: "shsb",
status: 2,
statusName: "审核失败",
pageIndex: 1,
pageSize: 10
}]; $(function() {
for(var i in list_item) {
load_items(list_item[i]);
}
}); function load_items(obj) {
ax.g("api/order/getOrderList", {
status: obj.status,
pageIndex: obj.pageIndex,
pageSize: obj.pageSize
},
function(d) {
var list = d.List;
for(var i in list) {
var item = list[i];
var id = item.Id;
var status = obj.status;
var strVar = "";
strVar += "<li class=\"listli\">";
strVar += "<ul class=\"mui-table-view\" id=\"order_card" + "-" + status + "-" + id + "\">";
strVar += " <span class=\"mui-icon mui-icon-arrowright r-topicon2\"><\/span>";
strVar += " <li class=\"mui-table-view-cell order_main\">";
strVar += " <img src=\"img/order-img.png\" style=\"width: 14px;position: absolute;left: 0;\"/>";
strVar += " <a class=\"co000\">";
strVar += " <span class=\"co000\">" + item.UserName + "<\/span>";
strVar += " <span class=\"mui-pull-right co000\">" + obj.statusName + "<\/span>";
strVar += " <\/a>";
strVar += " <\/li>";
strVar += " <li class=\"mui-table-view-cell\">";
strVar += " <a class=\"co888\">";
strVar += " 订单编号";
strVar += " <span class=\"mui-pull-right co000\">" + item.OrderCode + "<\/span>";
strVar += " <\/a>";
strVar += " <\/li>";
strVar += " <li class=\"mui-table-view-cell\">";
strVar += " <a class=\"co888\">";
strVar += " 商品名称";
strVar += " <span class=\"mui-pull-right co000\">" + item.PhoneModel + "<\/span>";
strVar += " <\/a>";
strVar += " <\/li>";
strVar += " <li class=\"mui-table-view-cell\">";
strVar += " <a class=\"co888\">";
strVar += "创建时间";
strVar += " <span class=\"mui-pull-right co000\">" + new Date(item.CreatedDate).Format("yyyy-MM-dd hh:mm") + "<\/span>";
strVar += " <\/a>";
strVar += " <\/li>";
if(obj.status == 2) {
strVar += "<li class=\"mui-table-view-cell\">";
strVar += "<a class=\"co888\">";
strVar += " 失败原因";
strVar += "<span class=\"mui-pull-right co000\">" + (item.Message == null ? "" : item.Message) + "<\/span>";
strVar += "<\/a>";
strVar += "<\/li>";
}
strVar += "<\/ul>";
strVar += "<\/li>"; $("#" + obj.id).append(strVar);
}
});
}

完整代码分享:

链接: http://pan.baidu.com/s/1jHN9TGE 密码: 9xza

MUI 列表页面绑定接口数据的更多相关文章

  1. WebFrom页面绑定数据过于冗长的处理方法

    嘛 这个是当时写完东西之后 功能没什么问题 但是由于页面绑定的数据太长 破坏了整体的样式(对于本人来说 样式就是浮云....) 所以测试就跟我说必须弄好看点 于是乎  我就找到了下面这种方法 因为我这 ...

  2. python 全栈开发,Day114(装饰器,排序规则,显示列,添加按钮,定制ModelForm,自定义列表页面,自定制URL)

    一.装饰器 装饰器本质上就是一个python函数,他可以让其他函数在不需要做任何代码变动的前提下,增加额外的功能,装饰器的返回值也是一个函数对象. 装饰器的应用场景:比如插入日志,性能测试,事务处理, ...

  3. H5页面基于接口实现数据交互

    对于现在APP开发来说,目前流行的两个方式是原生和H5.就如同之前业界程序猿争论的BS和CS之争一样,业界对于H5和原生也有不小的争论.对于前者的争论在于PC端,后者在于移动端上体现. 那一个APP适 ...

  4. Atitit.列表页面and条件查询的实现最佳实践(1)------设置查询条件and提交查询and返回json数据

    Atitit.列表页面and条件查询的实现最佳实践(1)------设置查询条件and提交查询and返回json数据 1. 1. 配置条件字段@Conditional 1 1 2. 2. 配置条件字段 ...

  5. h5页面列表滚动加载数据

    h5列表滚动加载数据很常见,以下分享下今天做的案例: 前言 这个效果实现需要知道三个参数 1. scrollTop -- 滚动条距离顶部的高度 2. scrollHeight -- 当前页面的总高度( ...

  6. Ajax获取接口数据,url拼接参数跳转页面,js获取上一级页面参数给本页面

    1.Ajax获取接口数据 function demo(){ //假设请求参数 var requestBody = [{ "name":"zhang", &quo ...

  7. 从零开始编写自己的C#框架(22)——添加普通列表页面

    普通列表页面指的是上一章那种有层次感列表以外的正常列表页面,由于上一章已讲解了正常添加页面的相关操作了,所以部分相关的操作本章节就不再罗嗦重复一次了.大家可以试试先用本章内容中的一些简单介绍,自己使用 ...

  8. 基于CkEditor实现.net在线开发之路(7)列表页面开发动作介绍

    一个列表页面不止是查询,它也包含了很多业务上功能的实现,这些业务功能的实现的逻辑我称之为动作.如触发单击按钮删除数据,更改业务表数据,调用webService,调用WCF接口,弹出新窗体新增.修改.查 ...

  9. mui列表跳转到详情页优化方案

    原理 因为列表页到详情页是多对一的形式,即列表页的多条数据列表对应的是一个详情页,只是数据不同而:因此,可以在加载列表页时预加载详情页,即创建一个详情页的webview,但是不显示出来,点击列表的时候 ...

随机推荐

  1. HDU1004题解分析(字符串处理)

    这道题是从上个星期开始做的,看到题时觉得似曾相似,好像做过,理了一下思路敲完代码又不对,后来发现是数组用错了,之后又重新想了数组和比较用法,昨天改了一个多小时,后来样例输出全部正确,所有情况都考虑到了 ...

  2. Qt 5.2.0 和 VS 2012集成

    下载两个安装包,后面一个add-in是必需的 Qt 5.2.0 for Windows 64-bit (VS 2012, 590 MB) (Info) Visual Studio Add-in 1.2 ...

  3. Elasticsearch 1.4.X 的CORS设置

    最近将Elasticsearch由1.2.2升级到1.4.4后,sense工具无法使用了,它发到Elasticsearch集群的请求没有任何的响应.阅读了Elasticsearch的文档才了解到,这是 ...

  4. NET Core1

    NET Core .net core最近园子讨论频率很高的话题,从不久前发布正式版本后,也是开始从netcore官网一步一步走向学习之路:.net跨平台的设计让人很是兴奋起来,因为做了多年的互联网研发 ...

  5. 【Oracle】wmsys.wm_concat函数字段值为空

    这个是因为字符集的问题,和空值是没关系的.其实已经取到了数据,可以验证一下返回的不是0,但是由于这个里面有个chr(0)字符,而且可能第一个字符就是chr(0),所以就显示得怪异的空现象.至于为何会出 ...

  6. load、save方法、spark sql的几种数据源

    load.save方法的用法          DataFrame usersDF = sqlContext.read().load("hdfs://spark1:9000/users.pa ...

  7. C++,对象成员的访问

    成员变量和成员函数的访问可以采用以下几种访问方式:对象.成员变量名: 对象.成员函数名(实参列表)对象的指针->成员变量名; 对象的指针->成员函数名(实参列表)对象的引用.成员变量名对象 ...

  8. application(expand)--easyui

    一,效果图. 二,源代码. <!DOCTYPE html><html><head> <meta charset="UTF-8"> & ...

  9. Jquery中$.ajax()方法参数详解(转)

    转自:http://blog.sina.com.cn/doctor830619 url: 要求为String类型的参数,(默认为当前页地址)发送请求的地址. type: 要求为String类型的参数, ...

  10. 统计图表类库--libchart使用简介

    1.饼图 #载入类文件 include "../libchart/classes/libchart.php"; header("Content-type: image/p ...