MUI 列表页面绑定接口数据
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 列表页面绑定接口数据的更多相关文章
- WebFrom页面绑定数据过于冗长的处理方法
嘛 这个是当时写完东西之后 功能没什么问题 但是由于页面绑定的数据太长 破坏了整体的样式(对于本人来说 样式就是浮云....) 所以测试就跟我说必须弄好看点 于是乎 我就找到了下面这种方法 因为我这 ...
- python 全栈开发,Day114(装饰器,排序规则,显示列,添加按钮,定制ModelForm,自定义列表页面,自定制URL)
一.装饰器 装饰器本质上就是一个python函数,他可以让其他函数在不需要做任何代码变动的前提下,增加额外的功能,装饰器的返回值也是一个函数对象. 装饰器的应用场景:比如插入日志,性能测试,事务处理, ...
- H5页面基于接口实现数据交互
对于现在APP开发来说,目前流行的两个方式是原生和H5.就如同之前业界程序猿争论的BS和CS之争一样,业界对于H5和原生也有不小的争论.对于前者的争论在于PC端,后者在于移动端上体现. 那一个APP适 ...
- Atitit.列表页面and条件查询的实现最佳实践(1)------设置查询条件and提交查询and返回json数据
Atitit.列表页面and条件查询的实现最佳实践(1)------设置查询条件and提交查询and返回json数据 1. 1. 配置条件字段@Conditional 1 1 2. 2. 配置条件字段 ...
- h5页面列表滚动加载数据
h5列表滚动加载数据很常见,以下分享下今天做的案例: 前言 这个效果实现需要知道三个参数 1. scrollTop -- 滚动条距离顶部的高度 2. scrollHeight -- 当前页面的总高度( ...
- Ajax获取接口数据,url拼接参数跳转页面,js获取上一级页面参数给本页面
1.Ajax获取接口数据 function demo(){ //假设请求参数 var requestBody = [{ "name":"zhang", &quo ...
- 从零开始编写自己的C#框架(22)——添加普通列表页面
普通列表页面指的是上一章那种有层次感列表以外的正常列表页面,由于上一章已讲解了正常添加页面的相关操作了,所以部分相关的操作本章节就不再罗嗦重复一次了.大家可以试试先用本章内容中的一些简单介绍,自己使用 ...
- 基于CkEditor实现.net在线开发之路(7)列表页面开发动作介绍
一个列表页面不止是查询,它也包含了很多业务上功能的实现,这些业务功能的实现的逻辑我称之为动作.如触发单击按钮删除数据,更改业务表数据,调用webService,调用WCF接口,弹出新窗体新增.修改.查 ...
- mui列表跳转到详情页优化方案
原理 因为列表页到详情页是多对一的形式,即列表页的多条数据列表对应的是一个详情页,只是数据不同而:因此,可以在加载列表页时预加载详情页,即创建一个详情页的webview,但是不显示出来,点击列表的时候 ...
随机推荐
- js如何判断一个对象是不是Array?(转载)
js如何判断一个对象是不是Array? 在开发中,我们经常需要判断某个对象是否为数组类型,在Js中检测对象类型的常见方法都有哪些呢? typeof 操作符 对于Function, String, Nu ...
- asp.net js调用后台方法
先前网上百度了很多 ,大致都一样 但是不太详细,总是不成功,然后试了很多,把经验发给大家看看 前台js function aa() { //这里可以写你要带的参数用隐藏域放起来 __doPostBac ...
- SharePoint2013切换账户身份登录设置
1. 打开Welcome.ascx文件:C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\15\TEMPLATE ...
- Oracle更改数据库文件大小、实时增加文件容量
--查询数据库文件路径.表空间.大小等 select * from dba_data_files ; --EAST.DBF数据库文件自动扩展20M,可无限扩展 alter database dataf ...
- js 字符串为空
content.replace(/(^\s)|(\s$)/g, "")
- jz2440不能成功地启动文件系统, Failed to execute /linuxrc.
文件系统加载失败,错误信息提示: VFS: Mounted root (nfs filesystem). Freeing init memory: 140K Failed to ex ...
- django1.6.x(python3.3)使用pymysql连接mysql
1.安装 pymysql,地址:https://code.google.com/p/pymysql/ 2.安装django 然后执行 django-admin.py startproject mysi ...
- java中printf中用法详解
目前printf支持以下格式: %c 单个字符 %d 十进制整数 %f 十进制浮点数 %o 八进制数 %s 字符串 %u 无符号十进制数 %x 十六进制数 %% 输出百分号% printf的格式控制的 ...
- linux shell awk 流程控制语句(if,for,while,do)详细介绍
在linux awk的 while.do-while和for语句中允许使用break,continue语句来控制流程走向,也允许使用exit这样的语句来退出.break中断当前正在执行的循环并跳到循环 ...
- python--help
python help 学习python的过程中,难免遇到一些生疏的东西,为此需要参看相关的文档说明. Linux下众所周知有man可以查找系统的命令帮助页:对于python也提供了自己的帮助文档的2 ...