• MUI 列表页面绑定接口数据


    1、我们先看效果

    2、功能分析

    主要分为3步

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

    接口数据示例:

     1 {
     2   "List": [
     3     {
     4       "Id": 9,
     5       "OrderCode": "1070010106490008",
     6       "PhoneModel": "三星 盖乐世s6 白色",
     7       "UserName": "张三",
     8       "Status": 3,
     9       "Message": null,
    10       "CreatedDate": "2016-09-29 15:23"
    11     },
    12     {
    13       "Id": 8,
    14       "OrderCode": "1070010106490007",
    15       "PhoneModel": "三星 盖乐世s6 白色",
    16       "UserName": "张三",
    17       "Status": 2,
    18       "Message": null,
    19       "CreatedDate": "2016-09-29 15:23"
    20     }
    21   ],
    22   "TotalRecords": 4
    23 }

    js代码:

      1 mui.init();
      2 (function($) {
      3     //阻尼系数
      4     var deceleration = mui.os.ios ? 0.003 : 0.0009;
      5     $('.mui-scroll-wrapper').scroll({
      6         bounce: false,
      7         indicators: true, //是否显示滚动条
      8         deceleration: deceleration
      9     });
     10     $.ready(function() {
     11         //循环初始化所有下拉刷新,上拉加载。
     12         $.each(document.querySelectorAll('.mui-slider-group .mui-scroll'),
     13             function(index, pullRefreshEl) {
     14                 $(pullRefreshEl).pullToRefresh({
     15                     down: {
     16                         callback: function() {
     17                             var self = this;
     18                             setTimeout(function() {
     19                                 try {
     20                                     var ul = self.element.querySelector('.mui-table-view');
     21                                     var ul_id = ul.id;
     22 
     23                                     var arr = ul_id.split("-");
     24                                     var obj = list_item[arr[1]];
     25 
     26                                     jQuery("#" + obj.id).empty();
     27                                     load_items(obj);
     28                                 } catch(e) {
     29 
     30                                 } finally {
     31                                     self.endPullDownToRefresh();
     32                                 }
     33                             }, 1000);
     34                         }
     35                     },
     36                     up: {
     37                         callback: function() {
     38                             var self = this;
     39                             setTimeout(function() {
     40                                 try {
     41                                     var ul = self.element.querySelector('.mui-table-view');
     42                                     var ul_id = ul.id;
     43 
     44                                     var arr = ul_id.split("-");
     45                                     var obj = list_item[arr[1]];
     46                                     var pageIndex = parseInt(obj.pageIndex) + 1;
     47                                     obj.pageIndex = pageIndex;
     48 
     49                                     load_items(obj);
     50                                 } catch(e) {
     51 
     52                                 } finally {
     53                                     self.endPullUpToRefresh();
     54                                 }
     55                             }, 1000);
     56 
     57                         }
     58                     }
     59                 });
     60             });
     61         var createFragment = function(ul, index, count, reverse) {
     62             var length = ul.querySelectorAll('li').length;
     63             var fragment = document.createDocumentFragment();
     64             var li;
     65             for(var i = 0; i < count; i++) {
     66                 li = document.createElement('li');
     67                 li.className = 'mui-table-view-cell';
     68                 li.innerHTML = '第' + (index + 1) + '个选项卡子项-' + (length + (reverse ? (count - i) : (i + 1)));
     69                 fragment.appendChild(li);
     70             }
     71             return fragment;
     72         };
     73     });
     74 })(mui);
     75 
     76 var list_item = [{
     77     id: "shz",
     78     status: 0,
     79     statusName: "审核中",
     80     pageIndex: 1,
     81     pageSize: 10
     82 }, {
     83     id: "ywc",
     84     status: 1,
     85     statusName: "已完成",
     86     pageIndex: 1,
     87     pageSize: 10
     88 }, {
     89     id: "shsb",
     90     status: 2,
     91     statusName: "审核失败",
     92     pageIndex: 1,
     93     pageSize: 10
     94 }];
     95 
     96 $(function() {
     97     for(var i in list_item) {
     98         load_items(list_item[i]);
     99     }
    100 });
    101 
    102 function load_items(obj) {
    103     ax.g("api/order/getOrderList", {
    104             status: obj.status,
    105             pageIndex: obj.pageIndex,
    106             pageSize: obj.pageSize
    107         },
    108         function(d) {
    109             var list = d.List;
    110             for(var i in list) {
    111                 var item = list[i];
    112                 var id = item.Id;
    113                 var status = obj.status;
    114                 var strVar = "";
    115                 strVar += "<li class="listli">";
    116                 strVar += "<ul class="mui-table-view" id="order_card" + "-" + status + "-" + id + "">";
    117                 strVar += "    <span class="mui-icon mui-icon-arrowright r-topicon2"></span>";
    118                 strVar += "    <li class="mui-table-view-cell order_main">";
    119                 strVar += "    <img src="img/order-img.png" style=" 14px;position: absolute;left: 0;"/>";
    120                 strVar += "    <a class="co000">";
    121                 strVar += "    <span class="co000">" + item.UserName + "</span>";
    122                 strVar += "    <span class="mui-pull-right co000">" + obj.statusName + "</span>";
    123                 strVar += "    </a>";
    124                 strVar += "    </li>";
    125                 strVar += "    <li class="mui-table-view-cell">";
    126                 strVar += "    <a class="co888">";
    127                 strVar += "                        订单编号";
    128                 strVar += "    <span class="mui-pull-right co000">" + item.OrderCode + "</span>";
    129                 strVar += "    </a>";
    130                 strVar += "    </li>";
    131                 strVar += "    <li class="mui-table-view-cell">";
    132                 strVar += "    <a class="co888">";
    133                 strVar += "                        商品名称";
    134                 strVar += "    <span class="mui-pull-right co000">" + item.PhoneModel + "</span>";
    135                 strVar += "    </a>";
    136                 strVar += "    </li>";
    137                 strVar += "    <li class="mui-table-view-cell">";
    138                 strVar += "    <a class="co888">";
    139                 strVar += "创建时间";
    140                 strVar += "    <span class="mui-pull-right co000">" + new Date(item.CreatedDate).Format("yyyy-MM-dd hh:mm") + "</span>";
    141                 strVar += "    </a>";
    142                 strVar += "    </li>";
    143                 if(obj.status == 2) {
    144                     strVar += "<li class="mui-table-view-cell">";
    145                     strVar += "<a class="co888">";
    146                     strVar += "                        失败原因";
    147                     strVar += "<span class="mui-pull-right co000">" + (item.Message == null ? "" : item.Message) + "</span>";
    148                     strVar += "</a>";
    149                     strVar += "</li>";
    150                 }
    151                 strVar += "</ul>";
    152                 strVar += "</li>";
    153 
    154                 $("#" + obj.id).append(strVar);
    155             }
    156         });
    157 }

    完整代码分享:

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

  • 相关阅读:
    jmeter-测试webservice接口
    Python
    Mysql:PDBC(Python操作数据库-mysql)
    Mysql: JDBC(Java 操作数据库-mysql)
    Mysql:事务、索引(了解)
    Mysql:DQL(Data Query Language
    Mysql:DML(Data Manipulation Language- 数据操作语言)
    Mysql:列类型,表类型,常用字段属性
    Mysql:DDL(Data Definition Language-数据定义语言)
    Mysql:Centos7安装Mysql5.6
  • 原文地址:https://www.cnblogs.com/cbread/p/5940624.html
Copyright © 2020-2023  润新知