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. if语句之猜拳

    用计算机来生成随机数: Random rand = new Random();//做一个随机生成器,Random();后面的括号里面可以放一个随机生成器种子,这个种子只能为整数(int)int n = ...

  2. MySQL支持emoji

    方案1: 应用层支持 MySQL默认的数据库编码是utf8,对于emoji文字是不能直接存储的,要想存储emoji,有许多库支持对emoji的转换,例如将

  3. ThinkPHP第七天(F函数使用,项目分组配置,项目分组模板文件放置规则配置)

    1.F(文件名称,写入数据,写入地址),用于将数据写入至磁盘文件中,如F('Data',$arr,'./Data/'),作用是将$arr写入至网站根目录的Data文件夹中的Data.php中. 2.读 ...

  4. 织梦dedecms|文章模型内容页标签

    文章标题:{dede:field.title/}文章链接:{dede:field name='arcurl'/}发布时间:{dede:field.pubdate function="MyDa ...

  5. ASP.NET jQuery 随笔 显示CheckBoxList成员选中的内容

    通过jQuery来获取CheckBoxList成员内容. <%@ Page Language="C#" AutoEventWireup="true" Co ...

  6. WebRTC–getUserMedia-filter

    示例说明:抓取MediaStream的一帧数据,并对该帧数据使用Css滤镜效果. 步骤: 1. 由getUserMedia方法获取一个可用的MediaStream 2. canvas方法drawIma ...

  7. poj3308Paratroopers(最小割)

    题目请戳这里 题目大意:给一个n*m的矩阵,给一些点(ri,ci)表示该点在第ri行第ci列.现在要覆盖所有的点,已知覆盖第i行代价为Ri,覆盖第j列代价为Cj.总代价是累乘的,求最小总代价能覆盖所有 ...

  8. docker 数据盘映射方案

    docker run -itd -v /data/:/data1 centos bash // -v 用来指定挂载目录, :前面的/data为本地目录,:后面的/data1 为容器里的目录: dock ...

  9. 汇总:Linux下10款即时通讯客户端,skype

    aMSN 是一款功能强大的MSN(WLM)的客户端,支持皮肤.插件.系统托盘图标.摄像头.多帐号登录.离线信息等. Pidgin 不用说了,是GNOME下的IM客户端,支持AIM, Google Ta ...

  10. 「JAVA」:Berkeley DB的JAVA连接

    Berkeley DB是一个嵌入式的数据库,它适合于管理海量的.简单的数据.关键字/数据(key/value)是Berkeley DB用来进行数据管理的基础.每个key/value构成了一条记录,而整 ...