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. Linux下Apache服务器并发优化

     Linux/UnixLinux系统下Apache 并发数的优化 Apache Http服务器采用prefork或者是worker两种并发控制模式. preforkMPM 使用多个子进程,每个子进程只 ...

  2. 数据表转换成json(DatatableToJson)

    #region 转换Table为JSON数据 /// <summary> /// 转换Table为JSON数据 /// </summary> /// <param nam ...

  3. ASP.NET 导入excel 数据

    1,需要给上传文件的目录给予权限 2. <asp:FileUpload ID="FileUpload1" runat="server" /> < ...

  4. [LeetCode]题解(python):021-Merge Two Sorted Lists

    题目来源: https://leetcode.com/problems/merge-two-sorted-lists/ 题意分析: 题目给出两个排好序的链表,将这两个链表整合成一个新的有序的链表. 题 ...

  5. VIM用法

    突然感觉vim像是linux上默认的文本编辑器,所以熟悉下用法吧. 1,set nu  显示行号. 2, /word  搜索文本word,n查找下一个.   :set hlsearch--高亮显示搜索 ...

  6. MouseOver/MouseOut vs MouseEnter/MouseLeave

    参考 http://www.oschina.net/question/234345_45280 这是jQuery提供的函数 要注意MouseOut 和 MouseLeave的区别 比如对元素A绑定Mo ...

  7. window下nodejs安装指南

    相信对于很多关注javascript发展的同学来说,nodejs已经不是一个陌生的词眼.有关nodejs的相关资料网上已经铺天盖地.由于它的高并发特性,造就了其特殊的应用地位. 国内目前关注最高,维护 ...

  8. 转:sublime text快捷键 (很实用的东东)

    一个好的编辑器,能大大提高编程的效率.如果能熟知软件的快捷键,那更能让你得心印手.这些内容都是我网上和自己实际使用过程中所收集而来的,在网络上应该也算比较全面的了吧.欢迎大家补充,我也会在以后慢慢添加 ...

  9. 国际名品SYSTEM入驻北京金融街购物中心__购物败家_YOKA时尚网

    国际名品SYSTEM入驻北京金融街购物中心__购物败家_YOKA时尚网 国际名品SYSTEM入驻北京金融街购物中心

  10. iOS/Xcode异常:reason = “The model used to open the store is incompatible with the one used to create the store”

    reason=The model used to open the store is incompatible with the one used to create the store 出现上述异常 ...