• layui流加载+h5自带模板


      1 @{
      2     ViewBag.Title = "服务列表";
      3     Layout = "~/Areas/hahaha/Views/Shared/_Head.cshtml";
      4 }
      5 <link href="~/Scripts/layui/css/layui.css" rel="stylesheet" />
      6 <style>
      7     .up { background:url(/Content/WeiXin/images/sort-up.png) no-repeat center center; background-size:.6rem auto;}
      8     .down { background:url(/Content/WeiXin/images/sort-down.png) no-repeat center center; background-size:.6rem auto;}
      9 </style>
     10 
     11 <div class="wc_content">
     12     <div class="tabPanel">
     13         <ul class="clearfix productTad serviceList_u">
     14             <li class="hit" data-type="1"><span>服务项目</span></li>
     15             <li data-type="2"><span>服务人员</span></li>
     16         </ul>
     17     </div>
     18     <div class="panes serviceListpanes">
     19         <div class="pane" style="display:block">
     20             <div class="serviceList_box"> <a href="serviceSeach.html" class="serviceList_seach"><i></i>请输入关键词</a> </div>
     21             <div class="serviceList_t" id="dataContent">
     22 
     23                 
     24             </div>
     25             <ul class="service_list" id="serviceData"></ul>
     26         </div>
     27     </div>
     28 </div>
     29 
     30 <script src="~/Scripts/jquery-1.10.2.min.js"></script>
     31 <script src="~/Scripts/layui/layui.js"></script>
     32 <script type="text/javascript">
     33     var totalPage = 2,
     34     pageIndex = 1,
     35     serviceHtml = '',
     36     dataType = 1,
     37     sort = 1,//正序or倒序
     38     OrderStr;//排序字段
     39     $(function () {
     40         $('.tabPanel ul li').click(function () {//切换筛选条件
     41             $(this).addClass('hit').siblings().removeClass('hit');
     42             var s =parseInt( $(this).attr('data-type'));
     43             if (dataType != s) {
     44                 dataType = s;
     45                 $('.list_head').remove();
     46                 $('#serviceData li').remove();
     47                 pageIndex = 1;
     48                 OrderStr = '';
     49                 setHead();
     50                 $('cite').click();
     51             }
     52             
     53         })
     54         setHead();
     55         loadFlow();
     56     })
     57 
     58     function setHead() {
     59         var scriptHtml;
     60         if (dataType == 1) {
     61             scriptHtml = $('#serviceList').html();
     62         } else {
     63             scriptHtml = $('#personList').html();
     64         }
     65         $('#dataContent').after(scriptHtml);
     66     }
     67 
     68     function loadList() {
     69         var act = dataType == 1 ? 'GetServices' : 'GetPersons';
     70         $.ajax({
     71             type: "GET",
     72             url: '/**/***/'+act,
     73             data: { PageIndex: pageIndex, OrderStr: OrderStr, sort: sort },
     74             dataType: "json",
     75             async: false,
     76             success: function (data) {
     77                 if (data.success) {
     78                     totalPage = data.totalPage;
     79                     var objs = [];
     80                     var sh;
     81                     if (dataType == 1) {
     82                         sh = $('#service').html();
     83                     } else {
     84                         sh = $('#person').html();
     85                     }                    
     86                     $.each(data.result, function (i,r) {
     87                         objs.push(formatTemplate(r,sh))
     88                     })
     89                     serviceHtml = objs.join('');
     90                 }
     91             }
     92         });
     93     }
     94 
     95     function loadFlow() {
     96         
     97         layui.use('flow', function () {
     98             var flow0 = layui.flow;
     99 
    100             flow0.load({
    101                 elem: '#serviceData',
    102                 //scrollElem: '#LAY_demo1', //滚动条所在元素,一般不用填,此处只是演示需要。
    103                 done: function (page, next) { //执行下一页的回调
    104 
    105                     setTimeout(function () {
    106                         loadList();
    107 
    108                         //执行下一页渲染,第二参数为:满足“加载更多”的条件,即后面仍有分页
    109                         //pages为Ajax返回的总页数,只有当前页小于总页数的情况下,才会继续出现加载更多
    110                         next(serviceHtml, pageIndex < totalPage); //假设总页数为 10
    111                         pageIndex++;
    112                     }, 500);
    113                 }
    114             });
    115 
    116         });
    117     }
    118 
    119     function orderService(serId,e) {//排序
    120         var i = $(e).find('i');
    121         if (i.hasClass("up")) {
    122             i.addClass('down').removeClass('up');
    123             sort = 1;
    124         } else if (i.hasClass('down')) {
    125             i.addClass('up').removeClass('down');
    126             sort = 2;
    127         } else {
    128             i.addClass('down');
    129             sort = 1;
    130             $(e).parent().siblings().find('i').removeClass('down').removeClass('up');            
    131         }
    132         OrderStr = serId;
    133         pageIndex = 1;
    134         $('#serviceData li').remove();
    135         $('cite').click();//加载流
    136     }
    137 
    138     function formatTemplate(dta, tmpl) {  //加载模板数据
    139         var format = {
    140             name: function (x) {
    141                 return x
    142             }
    143         };
    144         return tmpl.replace(/{(w+)}/g, function (m1, m2) {
    145             if (!m2)
    146                 return "";
    147             return (format && format[m2]) ? format[m2](dta[m2]) : dta[m2];
    148         });
    149     }
    150 </script>
    151 
    152 <script type="text/template" id="service">
    153     <li>
    154         <a href="/Hahaha/WxService/Index?s={ServiceID}">
    155             <div class="service_listL"><img src="{Image}"></div>
    156             <div class="service_listr">
    157                 <div class="service_listr1 clearfix"><span>{ServiceName}</span><b>{ServiceTime}分钟</b></div>
    158                 <p class="service_listr2">{Describe}</p>
    159                 <div class="service_listr3"><span>¥{PresentPrice}</span><del>¥{Price}</del></div>
    160             </div>
    161         </a>
    162     </li>
    163 </script>
    164 
    165 <script type="text/template" id="serviceList">
    166     <ul class="serviceList_tu clearfix list_head">
    167         <li><a class="serviceList_tui" href="serviceCategory.html"><i></i>分类</a></li>
    168         <li><a onclick="orderService('ServiceID',this)" href="javascript:">新品<i></i></a></li>
    169         <li><a onclick="orderService('SalesCount', this)" href="javascript:">销量<i></i></a></li>
    170         <li><a onclick="orderService('PresentPrice', this)" href="javascript:">价格<i></i></a></li>
    171     </ul>
    172     
    173 </script>
    174 
    175 <script type="text/template" id="personList">
    176     <div class="serviceList_t list_head">
    177         <ul class="serviceList_tu serviceList_tu2 clearfix">
    178             <li><a onclick="orderService('orderService', this)" href="javascrip:">级别<i></i></a></li>
    179             <li><a href="javascrip:" onclick="orderService('CountServiceHas', this)">销量<i></i></a></li>
    180         </ul>
    181     </div>
    182 </script>
    183 <script type="text/template" id="person">
    184     <li>
    185         <a href="/Hahaha/WxService/ServiceUserIndex?s={PersonId}">
    186             <div class="service_listL"><img src="{Portrait}"></div>
    187             <div class="service_listr">
    188                 <div class="service_listr1 clearfix"><span>{Name}<i class="{Sex}"></i></span></div>
    189                 <p class="service_listr2">{Introduction}</p>
    190                 <div class="service_listr4">服务次数:<span>{CountServiceHas}</span></div>
    191             </div>
    192         </a>
    193     </li>
    194 </script>


    效果如下图:

  • 相关阅读:
    SSH框架——(二)四层结构:DAO,Service,Controller,View层
    Spring知识概括梳理
    设计模式——(一)工厂模式2
    设计模式——(一)工厂模式1
    Spring——(一)IoC
    Toad 实现 SQL 优化
    string 和String的区别
    StructureMap依赖注入
    Oracle/PLSQL: BitAnd Function
    log.debug(e.getMessage());
  • 原文地址:https://www.cnblogs.com/Celebrator/p/6439229.html
Copyright © 2020-2023  润新知