@{
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. Docker部署Django项目+Nginx+Fluend日志收集 和redis、memcached、RabbitMQ、Celery

    前言 一.docker 1.docker是什么? Docker的英文本意是“搬运工”,Docker搬运的是集装箱(Container)可以成为容器,我可以把写的Django的WEB应用以及Python ...

  2. 【转】阿里云免费SSL证书申请与安装使用(IIS7)

    阅读目录 准备: 第一步:免费SSL证书申请 第二步:证书导入 第三步:分配服务器证书 最后一步:访问测试 回到顶部 准备: 阿里云已完成备案的域名一个 回到顶部 第一步:免费SSL证书申请 登陆阿里 ...

  3. SpringCloud调用服务原理

  4. H264视频压缩算法

    H264视频压缩算法现在无疑是所有视频压缩技术中使用最广泛,最流行的.随着 x264/openh264以及ffmpeg等开源库的推出, 大多数使用者无需再对H264的细节做过多的研究,这大降低了人们使 ...

  5. mysql-8.0.12-winx64 解压版安装(转)

    1.官网下载 https://dev.mysql.com/downloads/mysql/ 2.解压到一个合适的目录 3.配置环境变量 path : bin的目录(必须配置) MYSQL_HOME:m ...

  6. NPOI 操作excel之 将图片插入到指定位置;

    //新建类 重写Npoi流方法 public class NpoiMemoryStream : MemoryStream { public NpoiMemoryStream() { AllowClos ...

  7. [转] MySql 数据类型

    转自:http://blog.csdn.net/anxpp/article/details/51284106 1.概述 要了解一个数据库,我们也必须了解其支持的数据类型. MySQL支持所有标准的SQ ...

  8. 1.配置OpenCV开发环境VS2010

  9. ubuntu 网络配置

    检查网络配置命令:ifconfig 一.通过配置文件配置 新手没怎么用过Ubuntu,所以走了不少弯路,网上找了很多方法,大都没对我起到帮助作用,所以把自己的配置方法写一写. Ubuntu上连了两块网 ...

  10. windows环境下安装Python的Rtree包

    Rtree包是基于libspatialindex开发的,在安装Rtree之前必须先安装libspatialindex.关于libspatialindex,除了官网的英文外,这里有一个中文翻译过来的介绍 ...