@{
ViewBag.Title = "服务列表";
Layout = "~/Areas/hahaha/Views/Shared/_Head.cshtml";
}
<link href="~/Scripts/layui/css/layui.css" rel="stylesheet" />
<style>
.up { background:url(/Content/WeiXin/images/sort-up.png) no-repeat center center; background-size:.6rem auto;}
.down { background:url(/Content/WeiXin/images/sort-down.png) no-repeat center center; background-size:.6rem auto;}
</style> <div class="wc_content">
<div class="tabPanel">
<ul class="clearfix productTad serviceList_u">
<li class="hit" data-type="1"><span>服务项目</span></li>
<li data-type="2"><span>服务人员</span></li>
</ul>
</div>
<div class="panes serviceListpanes">
<div class="pane" style="display:block">
<div class="serviceList_box"> <a href="serviceSeach.html" class="serviceList_seach"><i></i>请输入关键词</a> </div>
<div class="serviceList_t" id="dataContent"> </div>
<ul class="service_list" id="serviceData"></ul>
</div>
</div>
</div> <script src="~/Scripts/jquery-1.10.2.min.js"></script>
<script src="~/Scripts/layui/layui.js"></script>
<script type="text/javascript">
var totalPage = 2,
pageIndex = 1,
serviceHtml = '',
dataType = 1,
sort = 1,//正序or倒序
OrderStr;//排序字段
$(function () {
$('.tabPanel ul li').click(function () {//切换筛选条件
$(this).addClass('hit').siblings().removeClass('hit');
var s =parseInt( $(this).attr('data-type'));
if (dataType != s) {
dataType = s;
$('.list_head').remove();
$('#serviceData li').remove();
pageIndex = 1;
OrderStr = '';
setHead();
$('cite').click();
} })
setHead();
loadFlow();
}) function setHead() {
var scriptHtml;
if (dataType == 1) {
scriptHtml = $('#serviceList').html();
} else {
scriptHtml = $('#personList').html();
}
$('#dataContent').after(scriptHtml);
} function loadList() {
var act = dataType == 1 ? 'GetServices' : 'GetPersons';
$.ajax({
type: "GET",
url: '/**/***/'+act,
data: { PageIndex: pageIndex, OrderStr: OrderStr, sort: sort },
dataType: "json",
async: false,
success: function (data) {
if (data.success) {
totalPage = data.totalPage;
var objs = [];
var sh;
if (dataType == 1) {
sh = $('#service').html();
} else {
sh = $('#person').html();
}
$.each(data.result, function (i,r) {
objs.push(formatTemplate(r,sh))
})
serviceHtml = objs.join('');
}
}
});
} function loadFlow() { layui.use('flow', function () {
var flow0 = layui.flow; flow0.load({
elem: '#serviceData',
//scrollElem: '#LAY_demo1', //滚动条所在元素,一般不用填,此处只是演示需要。
done: function (page, next) { //执行下一页的回调 setTimeout(function () {
loadList(); //执行下一页渲染,第二参数为:满足“加载更多”的条件,即后面仍有分页
//pages为Ajax返回的总页数,只有当前页小于总页数的情况下,才会继续出现加载更多
next(serviceHtml, pageIndex < totalPage); //假设总页数为 10
pageIndex++;
}, 500);
}
}); });
} function orderService(serId,e) {//排序
var i = $(e).find('i');
if (i.hasClass("up")) {
i.addClass('down').removeClass('up');
sort = 1;
} else if (i.hasClass('down')) {
i.addClass('up').removeClass('down');
sort = 2;
} else {
i.addClass('down');
sort = 1;
$(e).parent().siblings().find('i').removeClass('down').removeClass('up');
}
OrderStr = serId;
pageIndex = 1;
$('#serviceData li').remove();
$('cite').click();//加载流
} function formatTemplate(dta, tmpl) { //加载模板数据
var format = {
name: function (x) {
return x
}
};
return tmpl.replace(/{(\w+)}/g, function (m1, m2) {
if (!m2)
return "";
return (format && format[m2]) ? format[m2](dta[m2]) : dta[m2];
});
}
</script> <script type="text/template" id="service">
<li>
<a href="/Hahaha/WxService/Index?s={ServiceID}">
<div class="service_listL"><img src="{Image}"></div>
<div class="service_listr">
<div class="service_listr1 clearfix"><span>{ServiceName}</span><b>{ServiceTime}分钟</b></div>
<p class="service_listr2">{Describe}</p>
<div class="service_listr3"><span>¥{PresentPrice}</span><del>¥{Price}</del></div>
</div>
</a>
</li>
</script> <script type="text/template" id="serviceList">
<ul class="serviceList_tu clearfix list_head">
<li><a class="serviceList_tui" href="serviceCategory.html"><i></i>分类</a></li>
<li><a onclick="orderService('ServiceID',this)" href="javascript:">新品<i></i></a></li>
<li><a onclick="orderService('SalesCount', this)" href="javascript:">销量<i></i></a></li>
<li><a onclick="orderService('PresentPrice', this)" href="javascript:">价格<i></i></a></li>
</ul> </script> <script type="text/template" id="personList">
<div class="serviceList_t list_head">
<ul class="serviceList_tu serviceList_tu2 clearfix">
<li><a onclick="orderService('orderService', this)" href="javascrip:">级别<i></i></a></li>
<li><a href="javascrip:" onclick="orderService('CountServiceHas', this)">销量<i></i></a></li>
</ul>
</div>
</script>
<script type="text/template" id="person">
<li>
<a href="/Hahaha/WxService/ServiceUserIndex?s={PersonId}">
<div class="service_listL"><img src="{Portrait}"></div>
<div class="service_listr">
<div class="service_listr1 clearfix"><span>{Name}<i class="{Sex}"></i></span></div>
<p class="service_listr2">{Introduction}</p>
<div class="service_listr4">服务次数:<span>{CountServiceHas}</span></div>
</div>
</a>
</li>
</script>

效果如下图:

layui流加载+h5自带模板的更多相关文章

  1. js图片加载效果(延迟加载+瀑布流加载)

    概述 两种图片加载的效果:一种是遇到图片较多时,带读条效果的加载提示:另一种是根据滑块的位置进行预加载,用户不察觉的情况下,实现瀑布流的加载效果 详细 代码下载:http://www.demodash ...

  2. thinkPHP+LayUI 懒加载实现

    html <div class="layui-container" id="container"> </div> js,要引入layui ...

  3. iOS “请在微信客户端打开链接” UIWebview加载H5页面携带session、cookie、User-Agent信息 设置cookie、清除cookie、设置User-Agent

    公司新开的一个项目..内容基本上是加载H5页面显示..当时觉得挺简单的..后来发现自己掉坑里了..一些心理历程就不说了..说这个项目主要用到的知识点吧..也是自己踩得坑. 首先说说..这个项目上的内容 ...

  4. 浅试 Webview 一app 加载 H5小游戏

    整体架构: InventionActivity:实现UI的实例化,基本的按钮Activity之间跳转 GameActivity:实现UI的实例化,Webview的基本使用 MyProgressDial ...

  5. 移动web、webApp、混合APP、原生APP、androd H5混合开发 当无网络下,android怎么加载H5界面

    PhoneGap是一个采用HTML,CSS和JavaScript的技术,创建移动跨平台移动应用程序的快速开发平台.它使开发者能够在网页中调用IOS,Android,Palm,Symbian,WP7,W ...

  6. WAP用户评论简单实现瀑布流加载

    wap端经常会遇到产品或者评论的加载,但是分页的体验不是很好,所以选择通过js实现瀑布流加载方式. 第一步:需要动态加载的主要内容,这里需要动态加载的是li标签的内容 <ul class=&qu ...

  7. Android:webView加载h5网页视频,播放不了,以及横屏全屏的问题和实现自定义加载进度条的效果

    1.webView加载h5网页视频,播放不了,android3.0之后要在menifest添加硬件加速的属性 android:hardwareAccelerated="true". ...

  8. c#字符串加载wpf控件模板代码 - 简书

    原文:c#字符串加载wpf控件模板代码 - 简书 ResourceManager resManagerA = new ResourceManager("cn.qssq666.Properti ...

  9. 仿微信中加载网页时带线行进度条的WebView的实现

    finddreams:http://blog.csdn.net/finddreams/article/details/44172639 为了仿微信中加载网页时带进度条的WebView的实现,首先我们来 ...

随机推荐

  1. Win10系列:C#应用控件进阶3

    椭圆 若要绘制椭圆需要用到Ellipse元素,通过指定Ellipse元素的Width和Height属性值来确定椭圆的大小,其中Width指椭圆在X轴的宽度,Height指椭圆在Y轴的高度,若X轴和Y轴 ...

  2. ORA-12638: 身份证明检索失败的解决方法

    本地oracle客户端用PLSQL Developer连接远程数据库,每次登录都会在很久之后,出现 ORA-12638: 身份证明检索失败,tnsping 表明TNS配置没有问题. 解决方案: D:\ ...

  3. S2T40,第四章,简答4

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

  4. caffe matlab matcaffe 加载输入网络net时报错

    http://blog.csdn.net/xiaojiajia007/article/details/72850247

  5. Wampserver 403问题

    使用Wampserver   2.4.23做反向代理时报403没有权限:是因为在升级到2.4之后的版本只修改httpd.conf文件不管用 正确步骤如下:1.修改httpd.conf 文件中的Requ ...

  6. HDU1171将多个不同价值不同数量的器材尽可能按等价值均分 第一份的价值尽可能的大 所以sum/2对第二份进行01背包 使其价值尽可能的大

    //hdu1171void solve(){ for(int i=1;i<=n;i++) { for(int j=W;j>=w[i];j--) { dp[j]=max(dp[j],dp[j ...

  7. 一篇提及如何通过串口读取并提取GPS信号的论文

    一篇提及如何通过串口读取并提取GPS信号的论文 作者:崔杰 梁计春 王国军 目前,在用计算机进行数据传输时,常用的是串行通信方式.在Visual C++的编程中,既可以用Windows API函数进行 ...

  8. Fibonacci Heaps

    Mergeable heapsA mergeable heap is any data structure that supports the following five operations,in ...

  9. C++取反交换两个数的值

    int a = 1; int b = 2; cout << "a: "<< a << endl; cout << "b: ...

  10. web(七)css的语法规则、注释

    css的语法规则:特殊的css语法标识. !important:当使用多种方式设定标签样式时,设定样式渲染的应用优先权,声明在取值之后. .important { color: red !import ...