92 changed files with 22190 additions and 0 deletions
@ -0,0 +1,101 @@ |
|||
<!DOCTYPE html> |
|||
<!--[if IE 8]> <html class="ie ie8"> <![endif]--> |
|||
<!--[if IE 9]> <html class="ie ie9"> <![endif]--> |
|||
<!--[if gt IE 9]><!--> <html> <!--<![endif]--> |
|||
<head> |
|||
<meta charset="utf-8"> |
|||
<title>{$menu.menu_seo_title|default=$site_seo_title} {$site_name}</title> |
|||
<meta name="keywords" content="{$menu.menu_seo_key|default=$site_seo_keywords}" /> |
|||
<meta name="description" content="{$menu.menu_seo_des|default=$site_seo_description}"> |
|||
{include file="public:head" /} |
|||
</head> |
|||
<body class="detailsbg"> |
|||
<div class="contenter"> |
|||
{include file="public:nav" /} |
|||
<!--banner开始--> |
|||
<div class="detailsbanner"></div> |
|||
<!--banner结束--> |
|||
<!--body开始--> |
|||
<div class="content modeub bodymb"> |
|||
<!--mode left开始--> |
|||
<div class="modeleft modeub modever "> |
|||
<div class="modelefttop modeub modever modeac modepc"> |
|||
<div class="lefttutitle">走进本所</div> |
|||
<div class="leften">ABOUT US</div> |
|||
</div> |
|||
<div class="modeleftmenu"> |
|||
<div class="leftmenu modeub modeac modepc button bubble-right modeleftmenuactive" onclick="javascript:window.location.href='{:url(\'home/Listn/index\',[\'id\'=>18])}'"> |
|||
<div class="modef1 jiesh">本所介绍</div> |
|||
<div class="icon-huiseweixuanzhong iconfont modekuai"></div> |
|||
</div> |
|||
<div class="leftmenu modeub modeac modepc button bubble-right" onclick="javascript:window.location.href='{:url(\'home/Listn/index\',[\'id\'=>19])}'" > |
|||
<div class="modef1 jiesh">宣传片</div> |
|||
<div class="icon-huiseweixuanzhong iconfont modekuai"></div> |
|||
</div> |
|||
<div class="leftmenu modeub modeac modepc button bubble-right" onclick="javascript:window.location.href='{:url(\'home/Listn/index\',[\'id\'=>20])}'"> |
|||
<div class="modef1 jiesh">组织架构</div> |
|||
<div class="icon-huiseweixuanzhong iconfont modekuai"></div> |
|||
</div> |
|||
<div class="leftmenu modeub modeac modepc button bubble-right" onclick="javascript:window.location.href='{:url(\'home/Listn/index\',[\'id\'=>44])}'"> |
|||
<div class="modef1 jiesh">政策</div> |
|||
<div class="icon-huiseweixuanzhong iconfont modekuai"></div> |
|||
</div> |
|||
<div class="leftmenu modeub modeac modepc button bubble-right" onclick="javascript:window.location.href='{:url(\'home/Listn/index\',[\'id\'=>35])}'"> |
|||
<div class="modef1 jiesh">本所荣誉</div> |
|||
<div class="icon-huiseweixuanzhong iconfont modekuai"></div> |
|||
</div> |
|||
<div class="leftmenu modeub modeac modepc button bubble-right" onclick="javascript:window.location.href='{:url(\'home/Listn/index\',[\'id\'=>41])}'" > |
|||
<div class="modef1 jiesh">人才招聘</div> |
|||
<div class="icon-huiseweixuanzhong iconfont modekuai"></div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
<!--mode left结束--> |
|||
<!--mode right开始--> |
|||
<div class="modef1 moderight"> |
|||
<div class="moderighttag modeub modeac"> |
|||
<div class="tagtitle">深圳文化产权交易所</div> |
|||
<div class="tagline">/</div> |
|||
<div class="tagtitleen">Shenzhen cultural property exchange</div> |
|||
</div> |
|||
<div class="righttagdes modeub">真正国家级、全国性、全资国有的文化产业产股权交易平台和投融资服务机构,文化系统自己的交易所</div> |
|||
|
|||
{volist name="lists" id="vo" key="k"} |
|||
|
|||
<div class="modeub modeac subNav {if condition='$k gt 1'}modeintrduce{/if}{if condition='$k eq 1'}moderightnamecolor{/if}"> |
|||
<div class="moderightcheck modeub modeac modepc"> |
|||
<div class="arrowup jianf"></div> |
|||
</div> |
|||
<div class="modef1 moderighttitle modeub modeac"> |
|||
<div class="linkorange linkorangewh adleftimg"></div> |
|||
<div class="moderightname modef1">{$vo.n_title}</div> |
|||
<div class="linkorange linkorangewh adleftimg"></div> |
|||
</div> |
|||
</div> |
|||
<div class="intrducedes navContent"> |
|||
<div class="arrow_box top"> |
|||
<div class="miaoshu"> |
|||
{$vo.n_content} |
|||
</div> |
|||
</div> |
|||
|
|||
</div> |
|||
{/volist} |
|||
</div> |
|||
<!--mode right结束--> |
|||
</div> |
|||
<!--body结束--> |
|||
</div> |
|||
{include file="public:footer"/} |
|||
<script> |
|||
$(function() { |
|||
$(".subNav").click(function() { |
|||
$(this).toggleClass("moderightnameactive").siblings(".subNav").removeClass("moderightnameactive"); |
|||
$(this).next(".navContent").slideToggle(300).siblings(".navContent").slideUp(500); |
|||
}) |
|||
|
|||
}) |
|||
</script> |
|||
<script src="{$yf_theme_path}public/js/leftmenu.js"></script> |
|||
</body> |
|||
</html> |
|||
@ -0,0 +1,12 @@ |
|||
<div class="policieslist lastedlist"> |
|||
{volist name="lists" id="vo"} |
|||
<div class="policiescon modeub modeac"> |
|||
<div class="logobackimg liastedimg " style="width: 25%;" onclick="xq('{$vo.c_id}')"> |
|||
<img src="{$vo.c_logo}" style="max-height: 130px;"> |
|||
</div> |
|||
<div class="modef1 policiescontitle">{$vo.c_name}</div> |
|||
<div class="textml policiescontime xiangxi">详细 》</div> |
|||
</div> |
|||
{/volist} |
|||
</div> |
|||
<div class="col-xs-12 text-center list-page">{$page}</div> |
|||
@ -0,0 +1,94 @@ |
|||
<!DOCTYPE html> |
|||
<!--[if IE 8]> <html class="ie ie8"> <![endif]--> |
|||
<!--[if IE 9]> <html class="ie ie9"> <![endif]--> |
|||
<!--[if gt IE 9]><!--> <html> <!--<![endif]--> |
|||
<head> |
|||
<meta charset="utf-8"> |
|||
<title>上传缴费证明 {$site_name} </title> |
|||
<meta name="keywords" content="{$menu.menu_seo_key|default=$site_seo_keywords}" /> |
|||
<meta name="description" content="{$menu.menu_seo_des|default=$site_seo_description}"> |
|||
{include file="public:head" /} |
|||
</head> |
|||
<body class="body-white"> |
|||
<div class="wrap" style="height: 350px;"> |
|||
{include file="public:nav" /} |
|||
<link href="__PUBLIC__/ppy/css/fileinput.css" media="all" rel="stylesheet" type="text/css" /> |
|||
<script src="__PUBLIC__/ppy/js/fileinput.js" type="text/javascript"></script> |
|||
<script src="__PUBLIC__/ppy/js/fileinput_locale_zh.js" type="text/javascript"></script> |
|||
<script src="__PUBLIC__/ueditor/ueditor.config.js" type="text/javascript"></script> |
|||
<script src="__PUBLIC__/ueditor/ueditor.all.js" type="text/javascript"></script> |
|||
<div class="content bodymb"> |
|||
<form class="form-horizontal ajaxForm2" id="formcodeinfo" name="formcodeinfo" method="post" action="{:url('home/Listn/jf')}" enctype='multipart/form-data'> |
|||
<input type="hidden" name="apply_id" id="apply_id" value="{$apply_id}" /> |
|||
<div class="form-group"> |
|||
<div class="modeub numbercon modeac"> |
|||
<div class="numberlogoleft">缴费证明</div> |
|||
<div class="numbericon modeub modeac modepc" > |
|||
<!-- <div class="numberno"> |
|||
{if(!empty($cult4apply.c_proof_of_payment_url))} |
|||
<img src="{$cult4apply.c_proof_of_payment_url}" width="300px"/> |
|||
{/if} |
|||
</div>--> |
|||
<img id="logo_img" src="{$cult4apply.c_proof_of_payment_url|get_imgurl=1}" style="border-radius:110px;width:120px;height: 120px;"> |
|||
</div> |
|||
<div class="headeright"> |
|||
<div class="headerightdes">jpg、png、gif 格式图片 100*100px</div> |
|||
<div class="col-sm-4"> |
|||
<input name="filelogo" type="file" id="filelogo" accept="image/png,image/jpeg,image/gif" class="modepc" data-show-preview="false" data-show-upload="false" data-show-caption="true"> |
|||
</div> |
|||
<button class="headerightbun modeub modeac modepc" type="submit" name="btnf6" value="SUBUPLOAD"><i class="ace-icon fa fa-check bigger-110"></i>上传</button> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</form> |
|||
</div> |
|||
</div> |
|||
{include file="public:footer"/} |
|||
{include file="public:scripts"/} |
|||
<script> |
|||
|
|||
/* 通用表单不带检查操作,失败跳转 */ |
|||
$(function () { |
|||
$('.ajaxForm2').ajaxForm({ |
|||
success: complete, // 这是提交后的方法 |
|||
dataType: 'json' |
|||
}); |
|||
$("#filelogo").change(function(e){ |
|||
if(e.currentTarget.files.length!=0) { |
|||
if (e.currentTarget.files[0].size > (20 * 1024 * 1024)) { |
|||
layer.msg('图片超过20M', {icon: 5, time: 3000}); |
|||
$(this).val(''); |
|||
return false; |
|||
} |
|||
var fileObj = e.currentTarget.files[0]; |
|||
var reader = new FileReader(); |
|||
//使用该对象读取file文件 |
|||
reader.readAsDataURL(fileObj); |
|||
//读取文件成功后执行的方法函数 |
|||
reader.onload=function(e) { |
|||
// 读取成功后返回的一个参数e,整个的一个进度事件 |
|||
console.log(e); |
|||
// 选择所要显示图片的img,要赋值给img的src就是e中target下result里面的base64编码格式的地址 |
|||
$('#logo_img').attr('src',e.target.result); |
|||
} |
|||
} |
|||
}); |
|||
}); |
|||
//失败跳转 |
|||
function complete(data) { |
|||
if (data.code == 1) { |
|||
layer.alert(data.msg, {icon: 6}, function (index) { |
|||
layer.close(index); |
|||
window.location.href = data.url; |
|||
}); |
|||
} else { |
|||
layer.alert(data.msg, {icon: 5}, function (index) { |
|||
layer.close(index); |
|||
window.location.href = data.url; |
|||
}); |
|||
return false; |
|||
} |
|||
} |
|||
</script> |
|||
</body> |
|||
</html> |
|||
@ -0,0 +1,192 @@ |
|||
<!DOCTYPE html> |
|||
<html> |
|||
<head> |
|||
<meta charset="utf-8"> |
|||
<title>{$menu.menu_seo_title|default=$site_seo_title} {$site_name}</title> |
|||
<meta name="keywords" content="{$menu.menu_seo_key|default=$site_seo_keywords}" /> |
|||
<meta name="description" content="{$menu.menu_seo_des|default=$site_seo_description}"> |
|||
{include file="public:head" /} |
|||
</head> |
|||
<body class="home"> |
|||
<div class="wrap"> |
|||
{include file="public:nav" /} |
|||
<!--banner开始--> |
|||
<div class="detailsbanner"></div> |
|||
<!--banner结束--> |
|||
<!--body开始--> |
|||
<div class="content bodymb"> |
|||
<div class="basictop modef1 basiccon"> |
|||
<div class="moderighttag modeub modeac"> |
|||
<div class="linecolor"></div> |
|||
<div class="basictitle">选择号码</div> |
|||
</div> |
|||
<form class="form-horizontal ajaxForm1" name="formcodeinfo" method="post" action="{:url('home/Listn/tsjfimg')}" enctype='multipart/form-data'> |
|||
<input type="hidden" name="apply_id" value="{$apply_id}" /> |
|||
<div class="form-group"> |
|||
<div class="modeub numbercon modeac"> |
|||
<div class="numberlogoleft">企业Logo</div> |
|||
<div class="numbericon modeub modeac modepc" > |
|||
<img id="logo_img" src="{$baseinfo.logo|get_imgurl=1}" style="border-radius:110px;width:120px;height: 120px;"> |
|||
</div> |
|||
|
|||
<div class="headeright"> |
|||
<div class="headerightdes">jpg、png、gif 格式图片 100*100px</div> |
|||
<div class="col-sm-4"> |
|||
<input name="filelogo" type="file" id="filelogo" accept="image/png,image/jpeg,image/gif" class="modepc" data-show-preview="false" data-show-upload="false" data-show-caption="true" required> |
|||
</div> |
|||
<button class="headerightbun modeub modeac modepc" type="submit" name="btnf6" value="SUBUPLOAD"><i class="ace-icon fa fa-check bigger-110"></i>上传</button> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</form> |
|||
<form class="form-horizontal ajaxForm2" id="formcodeinfo2" name="formcodeinfo2" method="post" action="{:url('home/Listn/apply_runbasecode')}" > |
|||
<input type="hidden" name="apply_id" value="{$apply_id}" /> |
|||
<input type="hidden" name="base_id" id="base_id" value="{$baseinfo.base_id}" /> |
|||
<div class="modeub numbercon modeac"> |
|||
<div class="numberlogoleft">号码类型</div> |
|||
<div class="modef1 numberleft"> |
|||
<label for="man" class="radio"> |
|||
<span class="radio-bg"></span> |
|||
<input type="radio" name="codetype" id="man" value="0" checked="checked" onclick="aa()" {if condition="$baseinfo.codetype eq 0"}checked{/if}/> 系统分配 |
|||
<span class="radio-on"></span> |
|||
</label> |
|||
<label for="woman" class="radio"> |
|||
<span class="radio-bg"></span> |
|||
<input type="radio" name="codetype" id="woman" value="1" onclick="bb()" {if condition="$baseinfo.codetype eq 1"}checked{/if}/> 特殊号段 |
|||
<span class="radio-on"></span> |
|||
</label> |
|||
</div> |
|||
</div> |
|||
<div id="xl" style="display: none"> |
|||
<div class="modeub numbercon modeac"> |
|||
<div class="numberlogoleft checkenumber">选择号段</div> |
|||
<div class="modef1 numberleft numberbody modeub"> |
|||
<div class="numberlefticon"></div> |
|||
<div class="numbercentericon modeub modeac" > |
|||
<div class="selectbg modeub modeac selectbg2"> |
|||
<select id="saleno" name="saleno"> |
|||
{if condition="$status eq 27"}<option value=""></option>{/if} |
|||
{foreach name="salenolist" item="vno"} |
|||
<option value="{$vno.id}" {if condition="$baseinfo['code_id'] eq $vno.id"} selected {/if}>{$vno.saleno} - {$vno.price}元</option> |
|||
{/foreach} |
|||
</select> |
|||
</div> |
|||
</div> |
|||
<div class="numberrighticon"></div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
<div class="modeub numbercon modeac"> |
|||
<div class="numberlogoleft">企业简称</div> |
|||
<div class="modef1 numberleft numberbody modeub"> |
|||
<div class="numberlefticon"></div> |
|||
<div class="numbercentericon modeub modeac"> |
|||
<input type="text" name="shortname" value="{$baseinfo.shortname}" placeholder="请输入" class="numberinputwh" maxlength="100"> |
|||
</div> |
|||
<div class="numberrighticon"></div> |
|||
</div> |
|||
</div> |
|||
<div class="modeub numbercon modeac"> |
|||
<div class="numberlogoleft">企业名称</div> |
|||
<div class="modef1 numberleft numberbody modeub"> |
|||
<div class="numberlefticon"></div> |
|||
<div class="numbercentericon modeub modeac"> |
|||
<input type="text" name="codename" value="{$baseinfo.codename}" placeholder="请输入" class="numberinputwh" maxlength="100"> |
|||
</div> |
|||
<div class="numberrighticon"></div> |
|||
</div> |
|||
</div> |
|||
<div class="basiccon basiccon2 basiccon3"> |
|||
<div class=" modeub modept modeac modepc"> |
|||
<input class="headerightbun modeub modeac modepc" type="submit" value="提交"/> |
|||
</div> |
|||
|
|||
</div> |
|||
</form> |
|||
</div> |
|||
|
|||
</div> |
|||
</div> |
|||
<!--body结束--> |
|||
<!--footer开始--> |
|||
|
|||
<!--有疑问请点我结束--> |
|||
<!--右侧悬浮窗口开始--> |
|||
</div> |
|||
{include file="public:footer"/} |
|||
{include file="public:scripts"/} |
|||
<script> |
|||
function bb() { |
|||
$("#xl").show(); |
|||
$("#img_id").show(); |
|||
} |
|||
|
|||
function aa() { |
|||
$("#xl").hide(); |
|||
$("#img_id").hide(); |
|||
} |
|||
|
|||
|
|||
window.onload = function(){ |
|||
if('{$baseinfo.codetype}'==1){ |
|||
$("#xl").show(); |
|||
$("#img_id").show(); |
|||
} |
|||
} |
|||
|
|||
/* 通用表单不带检查操作,失败跳转 */ |
|||
$(function () { |
|||
$('.ajaxForm1').ajaxForm({ |
|||
success: complete, // 这是提交后的方法 |
|||
dataType: 'json' |
|||
}); |
|||
}); |
|||
|
|||
|
|||
/* 通用表单不带检查操作,失败跳转 */ |
|||
$(function () { |
|||
$('.ajaxForm2').ajaxForm({ |
|||
success: complete, // 这是提交后的方法 |
|||
dataType: 'json' |
|||
}); |
|||
$("#filelogo").change(function(e){ |
|||
if(e.currentTarget.files.length!=0) { |
|||
if (e.currentTarget.files[0].size > (20 * 1024 * 1024)) { |
|||
layer.msg('图片超过20M', {icon: 5, time: 3000}); |
|||
$(this).val(''); |
|||
return false; |
|||
} |
|||
var fileObj = e.currentTarget.files[0]; |
|||
var reader = new FileReader(); |
|||
//使用该对象读取file文件 |
|||
reader.readAsDataURL(fileObj); |
|||
//读取文件成功后执行的方法函数 |
|||
reader.onload=function(e) { |
|||
// 读取成功后返回的一个参数e,整个的一个进度事件 |
|||
console.log(e); |
|||
// 选择所要显示图片的img,要赋值给img的src就是e中target下result里面的base64编码格式的地址 |
|||
$('#logo_img').attr('src',e.target.result); |
|||
} |
|||
} |
|||
}); |
|||
}); |
|||
//失败跳转 |
|||
function complete(data) { |
|||
if (data.code == 1) { |
|||
layer.alert(data.msg, {icon: 6}, function (index) { |
|||
layer.close(index); |
|||
window.location.href = data.url; |
|||
}); |
|||
} else { |
|||
layer.alert(data.msg, {icon: 5}, function (index) { |
|||
layer.close(index); |
|||
}); |
|||
return false; |
|||
} |
|||
} |
|||
|
|||
|
|||
</script> |
|||
<!--右侧悬浮窗口结束--> |
|||
</body> |
|||
</html> |
|||
@ -0,0 +1,88 @@ |
|||
<!DOCTYPE html> |
|||
<html> |
|||
<head> |
|||
<meta charset="utf-8"> |
|||
<title>{$menu.menu_seo_title|default=$site_seo_title} {$site_name}</title> |
|||
<meta name="keywords" content="{$menu.menu_seo_key|default=$site_seo_keywords}" /> |
|||
<meta name="description" content="{$menu.menu_seo_des|default=$site_seo_description}"> |
|||
{include file="public:head" /} |
|||
</head> |
|||
<body class="home"> |
|||
<div class="wrap"> |
|||
{include file="public:nav" /} |
|||
<!--banner开始--> |
|||
<div class="detailsbanner"></div> |
|||
<!--banner结束--> |
|||
<!--body开始--> |
|||
<div class="content bodymb"> |
|||
<div class="basictop modef1"> |
|||
<form class="form-horizontal ajaxForm2" id="formcodeinfo" name="formcodeinfo" method="post" action="{:url('home/Listn/tsjf')}" enctype='multipart/form-data'> |
|||
<input type="hidden" name="apply_id" id="apply_id" value="{$apply_id}" /> |
|||
<input type="hidden" name="codetype" id="codetype" value="{$baseinfo.codetype}" /> |
|||
<div class="basiccon"> |
|||
<div class="modeub numbercon modeac"> |
|||
<div class="numberlogoleft">上传缴费证明</div> |
|||
<div class="numbericon modeub modeac modepc" > |
|||
{if(!empty($cult4apply.pay_img))} |
|||
<div class="companyheader logobackimg" style="background-image: url({$cult4apply.pay_img});"> </div> |
|||
{/if} |
|||
{if(empty($cult4apply.pay_img))} |
|||
<div class="numberno" >暂无</div> |
|||
{/if} |
|||
</div> |
|||
<div class="headeright"> |
|||
<div class="headerightdes">jpg、png、gif 格式图片 100*100px</div> |
|||
<input name="filelogo" type="file" id="filelogo" accept="image/png,image/jpeg,image/gif" class="file col-xs-6 col-sm-6" data-show-preview="false" data-show-upload="false" data-show-caption="true"> |
|||
<button class="headerightbun modeub modeac modepc" type="submit" name="btnf6" value="SUBUPLOAD"><i class="ace-icon fa fa-check bigger-110"></i>上传</button> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</form> |
|||
</div> |
|||
|
|||
</div> |
|||
</div> |
|||
<!--body结束--> |
|||
<!--footer开始--> |
|||
|
|||
<!--有疑问请点我结束--> |
|||
<!--右侧悬浮窗口开始--> |
|||
</div> |
|||
{include file="public:footer"/} |
|||
{include file="public:scripts"/} |
|||
<script> |
|||
/* 通用表单不带检查操作,失败跳转 */ |
|||
$(function () { |
|||
$('.ajaxForm2').ajaxForm({ |
|||
success: complete, // 这是提交后的方法 |
|||
dataType: 'json' |
|||
}); |
|||
$("#filelogo").change(function(e){ |
|||
if(e.currentTarget.files.length!=0) { |
|||
if (e.currentTarget.files[0].size > (20 * 1024 * 1024)) { |
|||
layer.msg('图片超过20M', {icon: 5, time: 3000}); |
|||
$(this).val(''); |
|||
return false; |
|||
} |
|||
} |
|||
}); |
|||
}); |
|||
//失败跳转 |
|||
function complete(data) { |
|||
if (data.code == 1) { |
|||
layer.alert(data.msg, {icon: 6}, function (index) { |
|||
layer.close(index); |
|||
window.location.href = data.url; |
|||
}); |
|||
} else { |
|||
layer.alert(data.msg, {icon: 5}, function (index) { |
|||
layer.close(index); |
|||
window.location.href = data.url; |
|||
}); |
|||
return false; |
|||
} |
|||
} |
|||
</script> |
|||
<!--右侧悬浮窗口结束--> |
|||
</body> |
|||
</html> |
|||
@ -0,0 +1,94 @@ |
|||
<!DOCTYPE html> |
|||
<!--[if IE 8]> <html class="ie ie8"> <![endif]--> |
|||
<!--[if IE 9]> <html class="ie ie9"> <![endif]--> |
|||
<!--[if gt IE 9]><!--> <html> <!--<![endif]--> |
|||
<head> |
|||
<meta charset="utf-8"> |
|||
<title>{$menu.menu_seo_title|default=$site_seo_title} {$site_name}</title> |
|||
<meta name="keywords" content="{$menu.menu_seo_key|default=$site_seo_keywords}" /> |
|||
<meta name="description" content="{$menu.menu_seo_des|default=$site_seo_description}"> |
|||
<link rel="stylesheet" type="text/css" href="{$yf_theme_path}public/css/lightbox.css"> |
|||
{include file="public:head" /} |
|||
<style> |
|||
.jc_list .imgitem{display: inline-block; cursor: pointer;vertical-align: top;margin-bottom:5px;margin-top:5px;width:19.6%;text-align:center;} |
|||
.jc_list .imgitem .desc{text-align: center;color:#333;padding:5px 5px 5px;white-space: nowrap;overflow: hidden;text-overflow: ellipsis;} |
|||
.jc_list .imgitem .imgpanel{display:inline-block;position: relative;width: 140px;height: 140px;background-color: #F9F9F9;overflow: hidden;} |
|||
.jc_list .imgitem .imgbox{display:table-cell;vertical-align:middle;height: 140px;width: 140px;text-algin:center;} |
|||
.jc_list .imgitem .imgbox img{max-width:100%;max-height:100%;} |
|||
.jc_list .imgitem .imgpanel .coverimg{ |
|||
position: absolute;width: 100%;height: 100%;left: 0;top: 0; |
|||
background-size: cover;background-position: center;background-repeat: no-repeat; |
|||
transition: all .3s;-moz-transition: all .3s;-webkit-transition: all .3s;-o-transition: all .3s; |
|||
} |
|||
</style> |
|||
</head> |
|||
<body class="home"> |
|||
<div class="contenter"> |
|||
{include file="public:nav" /} |
|||
<div class="content"> |
|||
<div class="basictop" style="margin-top: 0; margin-bottom: 80px"> |
|||
<div class="" style="padding: 0 20px 20px 20px;"> |
|||
<div class="tabs modeub modeac"> |
|||
<div class="iconfont icon-home hometabs"></div> |
|||
<div class="tabstitle"><a href="{:url('news/category',array('kind'=>$kind))}">{$title}</a></div> |
|||
<div class="marketsegment segment">/</div> |
|||
<div class="tabstitle tabslast modef1"><a href="{:url('news/category',array('kind'=>$kind,'cid'=>16))}">{$parent}</a></div> |
|||
</div> |
|||
<div class="detailsdes-new clearfix"> |
|||
<div class="left"> |
|||
<div class="de-img-wrapper"> |
|||
<div class="img-shell"> |
|||
{if condition="$list['n_img']"} |
|||
<div class="bannerimg"> |
|||
<img src="<?php echo trim($list['n_img'],'.');?>" title="{$list.n_title}"/> |
|||
</div> |
|||
{/if} |
|||
</div> |
|||
</div> |
|||
|
|||
</div> |
|||
<div class="right"> |
|||
<p>公馆名称:{$list.n_title}</p> |
|||
<p>公馆/艺术家简介:{$list.n_content}</p> |
|||
</div> |
|||
</div> |
|||
<div class="dmenus"> |
|||
<div class="dmenu active">作品集</div> |
|||
</div> |
|||
<div class="dbodys" style="padding-top:10px;"> |
|||
<div class="jc_list"> |
|||
{if condition="count($list['photos'])"} |
|||
{foreach name="list['photos']" item="vo"} |
|||
<div onclick="window.location.href='{:url('news/finance',array('c_id'=>$vo['c_id'],'kind'=>4,'parent'=>16))}'" class="imgitem"> |
|||
<div class="imgpanel"> |
|||
<div class="imgbox"> |
|||
<img src="<?php echo trim($vo['c_logo'],'.');?>" title="{$vo.c_name}"/> |
|||
</div> |
|||
</div> |
|||
<div class="desc">{$vo.c_name}</div> |
|||
</div> |
|||
{/foreach} |
|||
{/if} |
|||
</div> |
|||
</div> |
|||
</div> |
|||
|
|||
</div> |
|||
</div> |
|||
</div> |
|||
{include file="public:footer"/} |
|||
{include file="public:scripts"/} |
|||
<script type="text/javascript" src="{$yf_theme_path}public/js/lightbox.js" charset="utf-8"></script> |
|||
<script type="text/javascript" > |
|||
|
|||
$(function(){ |
|||
var swiper = new Swiper('#bswiper', { |
|||
paginationClickable: true, |
|||
pagination:'.swiper-pagination', |
|||
centeredSlides: true |
|||
}); |
|||
|
|||
}); |
|||
</script> |
|||
</body> |
|||
</html> |
|||
@ -0,0 +1,166 @@ |
|||
<!DOCTYPE html> |
|||
<!--[if IE 8]> <html class="ie ie8"> <![endif]--> |
|||
<!--[if IE 9]> <html class="ie ie9"> <![endif]--> |
|||
<!--[if gt IE 9]><!--> <html> <!--<![endif]--> |
|||
<head> |
|||
<meta charset="utf-8"> |
|||
<title>{$menu.menu_seo_title|default=$site_seo_title} {$site_name}</title> |
|||
<meta name="keywords" content="{$menu.menu_seo_key|default=$site_seo_keywords}" /> |
|||
<meta name="description" content="{$menu.menu_seo_des|default=$site_seo_description}"> |
|||
{include file="public:head" /} |
|||
<link rel="stylesheet" href="{$yf_theme_path}public/css/pink.flag/css/jplayer.pink.flag.css"> |
|||
</head> |
|||
<body class="home"> |
|||
<div class="wrap"> |
|||
{include file="public:nav" /} |
|||
<div id="main-cmf"> |
|||
<div class="main-content top-back"></div> |
|||
<div class="main-content nav_i"> |
|||
<div class="container"> |
|||
<a href="{:url('home/Listn/index?id=1')}">走进本所</a><span> > 文创江湖(电台)</span> |
|||
<a href="{:url('home/Index/index')}" class="back pull-right">返回</a> |
|||
</div> |
|||
</div> |
|||
<div class="container about"> |
|||
<div class="col-md-3 hidden-xs hidden-sm"> |
|||
<div class="about_aside"> |
|||
<h3>走进本所</h3> |
|||
<ul> |
|||
<li class=""><a href="{:url('home/Listn/index',['id'=>18])}">本所介绍</a></li> |
|||
<li class=""><a href="{:url('home/Listn/index',['id'=>19])}">宣传片</a></li> |
|||
<li class=""><a href="{:url('home/Listn/index',['id'=>20])}">组织架构</a></li> |
|||
<li class="on"><a href="{:url('home/Listn/audio')}">文创江湖(电台)</a></li> |
|||
<!--li class=""> |
|||
{notempty name="download_cids"} |
|||
<a href="javascript:void(0);" class="down-menu">资料下载<b class="arrow fa fa-angle-down"></b></a> |
|||
<ul class="down-child" style="display: none;"> |
|||
{volist name="download_cids" id="vo"} |
|||
<li class=""><a href="{:url('home/Listn/index',['id'=>21,'cid'=>$vo.type_id])}">{$vo.type_name}</a></li> |
|||
{/volist} |
|||
</ul> |
|||
{else /} |
|||
<a href="{:url('home/Listn/index',['id'=>21])}">资料下载</a> |
|||
{/notempty} |
|||
</li--> |
|||
</ul> |
|||
</div> |
|||
</div> |
|||
<div class="list-menu"> |
|||
<div class="mobile navbar-header"> |
|||
<a class="navbar-toggle" data-toggle="collapse" data-target=".menu2"> |
|||
<i class="fa fa-reorder icon-2x"></i> |
|||
</a> |
|||
</div> |
|||
<nav class="collapse navbar-collapse menu2"> |
|||
<div class="about_aside "> |
|||
<h3>走进本所</h3> |
|||
<ul class=""> |
|||
<li class=""><a href="{:url('home/Listn/index',['id'=>18])}">本所介绍</a></li> |
|||
<li class=""><a href="{:url('home/Listn/index',['id'=>19])}">宣传片</a></li> |
|||
<li class=""><a href="{:url('home/Listn/index',['id'=>20])}">组织架构</a></li> |
|||
<li class="on"><a href="{:url('home/Listn/audio')}">文创江湖(电台)</a></li> |
|||
<!--li class=""> |
|||
{notempty name="download_cids"} |
|||
<a href="javascript:void(0);" class="down-menu">资料下载<b class="arrow fa fa-angle-down"></b></a> |
|||
<ul class="down-child" style="display: none;"> |
|||
{volist name="download_cids" id="vo"} |
|||
<li class=""><a href="{:url('home/Listn/index',['id'=>21,'cid'=>$vo.type_id])}">{$vo.type_name}</a></li> |
|||
{/volist} |
|||
</ul> |
|||
{else /} |
|||
<a href="{:url('home/Listn/index',['id'=>21])}">资料下载</a> |
|||
{/notempty} |
|||
</li--> |
|||
</ul> |
|||
</div> |
|||
</nav> |
|||
</div> |
|||
<div class="col-sm-12 col-xs-12 col-md-9 about_main"> |
|||
<div class="about_main about_v_main"> |
|||
<div class="row"> |
|||
<div class="col-xs-12 h2_title"> |
|||
<h2>文创江湖(电台)</h2> |
|||
</div> |
|||
<div class="col-xs-12"> |
|||
<!--<div id="player4" class="aplayer"></div>--> |
|||
<div id="jp_container_N" class="jp-video jp-video-270p" role="application" aria-label="media player"> |
|||
<div class="jp-type-playlist"> |
|||
<div id="jquery_jplayer_N" class="jp-jplayer"></div> |
|||
<div class="jp-gui"> |
|||
<div class="jp-video-play"> |
|||
<button class="jp-video-play-icon" role="button" tabindex="0">play</button> |
|||
</div> |
|||
<div class="jp-interface"> |
|||
<div class="jp-progress"> |
|||
<div class="jp-seek-bar"> |
|||
<div class="jp-play-bar"></div> |
|||
</div> |
|||
</div> |
|||
<div class="jp-current-time" role="timer" aria-label="time"> </div> |
|||
<div class="jp-duration" role="timer" aria-label="duration"> </div> |
|||
<div class="jp-details"> |
|||
<div class="jp-title" aria-label="title"> </div> |
|||
</div> |
|||
<div class="jp-controls-holder"> |
|||
<div class="jp-volume-controls"> |
|||
<button class="jp-mute" role="button" tabindex="0">mute</button> |
|||
<button class="jp-volume-max" role="button" tabindex="0">max volume</button> |
|||
<div class="jp-volume-bar"> |
|||
<div class="jp-volume-bar-value"></div> |
|||
</div> |
|||
</div> |
|||
<div class="jp-controls"> |
|||
<button class="jp-previous" role="button" tabindex="0">previous</button> |
|||
<button class="jp-play" role="button" tabindex="0">play</button> |
|||
<button class="jp-stop" role="button" tabindex="0">stop</button> |
|||
<button class="jp-next" role="button" tabindex="0">next</button> |
|||
</div> |
|||
<div class="jp-toggles"> |
|||
<button class="jp-repeat" role="button" tabindex="0">repeat</button> |
|||
<button class="jp-shuffle" role="button" tabindex="0">shuffle</button> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
<div class="jp-playlist"> |
|||
<ul> |
|||
<!-- The method Playlist.displayPlaylist() uses this unordered list --> |
|||
<li></li> |
|||
</ul> |
|||
</div> |
|||
<div class="jp-no-solution"> |
|||
<span>Update Required</span> |
|||
To play the media you will need to either update your browser to a recent version or update your <a href="http://get.adobe.com/flashplayer/" target="_blank">Flash plugin</a>. |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
{include file="public:footer"/} |
|||
{include file="public:scripts"/} |
|||
<script src="{$yf_theme_path}public/js/jquery.jplayer.min.js"></script> |
|||
<script src="{$yf_theme_path}public/js/jplayer.playlist.js"></script> |
|||
<script> |
|||
var myPlaylist = new jPlayerPlaylist({ |
|||
jPlayer: "#jquery_jplayer_N", |
|||
cssSelectorAncestor: "#jp_container_N" |
|||
}, eval('{$lists}'), { |
|||
playlistOptions: { |
|||
enableRemoveControls: true |
|||
}, |
|||
swfPath: "{$yf_theme_path}public/js", |
|||
supplied: "webmv, ogv, m4v, oga, mp3", |
|||
useStateClassSkin: true, |
|||
autoBlur: false, |
|||
smoothPlayBar: true, |
|||
keyEnabled: true, |
|||
audioFullScreen: true |
|||
}); |
|||
</script> |
|||
</body> |
|||
</html> |
|||
@ -0,0 +1,132 @@ |
|||
<!DOCTYPE html> |
|||
<head> |
|||
<meta charset="utf-8"> |
|||
<title>{$menu.menu_seo_title|default=$site_seo_title} {$site_name}</title> |
|||
<meta name="keywords" content="{$menu.menu_seo_key|default=$site_seo_keywords}" /> |
|||
<meta name="description" content="{$menu.menu_seo_des|default=$site_seo_description}"> |
|||
{include file="public:head" /} |
|||
<link rel="stylesheet" type="text/css" href="{$yf_theme_path}public/font/iconfont.css"> |
|||
</head> |
|||
<body class="home"> |
|||
<div class="wrap"> |
|||
<!--logo结束--> |
|||
{include file="public:nav" /} |
|||
<!--banner开始--> |
|||
{if condition="count($banners)"} |
|||
<div class="banner" style="min-width: 1200px; min-height: 313px;"> |
|||
<div id="bannerswiper" class="swiper-container"> |
|||
<div class="swiper-wrapper"> |
|||
{foreach name="banners" item="vo"} |
|||
<div class="swiper-slide"> |
|||
<div class="bannerimg"><img class="img-responsive" src="{$vo.lk_pic|get_imgurl}" title="{$vo.lk_name}" width="100%"></div> |
|||
</div> |
|||
{/foreach} |
|||
</div> |
|||
</div> |
|||
</div> |
|||
{else} |
|||
<div class="detailsbanner"></div> |
|||
{/if} |
|||
<!--banner结束--> |
|||
<!--tabs开始--> |
|||
<div class="content"> |
|||
<div class="basictop tgpage" style="margin-top: 20px; margin-bottom: 80px"> |
|||
<div class="breadcrumb"><a href="javascript:void(0);"><strong>数据超市</strong></a><span class="chevron-right">></span><a href="javascript:void(0);">所有分类</a></div> |
|||
<div class="selectwraper"> |
|||
<form id="searchForm" method="post" action="{:url('news/bigdata',['kind'=>17])}" > |
|||
<div class="selectitem"> |
|||
<div class="txt">标的类型:</div> |
|||
<div class="choises"><span><input type="radio" name="c_type" value="0" {if condition="$ctype eq 0"}checked{/if} /> 全部</span><span><input type="radio" name="c_type" {if condition="$ctype eq 1"}checked{/if} value="1" /> 文化资源数据</span><span><input type="radio" {if condition="$ctype eq 2"}checked{/if} name="c_type" value="2" /> 文化数字内容</span></div> |
|||
</div> |
|||
<div class="selectitem"> |
|||
<div class="txt">交易方式:</div> |
|||
<div class="choises"><span><input type="radio" name="c_pay" value="0" {if condition="$cpay eq 0"}checked{/if} /> 全部</span><span><input type="radio" name="c_pay" {if condition="$cpay eq 1"}checked{/if} value="1" /> 授权</span><span><input type="radio" {if condition="$cpay eq 2"}checked{/if} name="c_pay" value="2" /> 转让</span></div> |
|||
</div> |
|||
<div class="selectitem"> |
|||
<div class="txt">委托方名称:</div> |
|||
<div class="choises"><input type="text" name="c_seller" value="{$cseller}" style="border:1px solid #e8e8e8;line-height:1.3rem;height:1.6rem;width:200px;"/></div> |
|||
</div> |
|||
<div class="selectitem"> |
|||
<div class="txt">关 键 词: </div> |
|||
<div class="choises"> <input type="text" name="keyword" value="{$keyword}" placeholder="请输入标的名称或唯一编码" style="border:1px solid #e8e8e8;width:200px;line-height:1.3rem;height:1.6rem;"/></div> |
|||
</div> |
|||
<div class="text-center selectitem buttons"> |
|||
<a href="javascript:void(0);" onclick="$('#searchForm').submit()" class="submit">提交</a><a href="javascript:void(0);" class="reset" onclick="window.location.href='{:url('news/bigdata',['kind'=>15])}'">取消</a> |
|||
</div> |
|||
</form> |
|||
</div> |
|||
|
|||
<div class="toolwraper"> |
|||
<div class="tabswraper"> |
|||
<a href="{:url('bigdata',['kind'=>17])}" >最新上架</a> |
|||
</div> |
|||
<div class="formwraper"> |
|||
|
|||
</div> |
|||
<div class="showwraper" style="width:180px"></div> |
|||
<div class="pagewraper"> |
|||
<a href="javascript:void(0);"><span class=" iconfont icon-arrow-left"></span></a> |
|||
<div class="txt"><span class="red">{$curpage}</span>/{$totalpage}</div> |
|||
<a href="javascript:void(0);"><span class=" iconfont icon-arrow-right"></span></a> |
|||
</div> |
|||
</div> |
|||
<div class="prowraper"> |
|||
<div class="detailview "> |
|||
{foreach $products as $index=>$vo} |
|||
<div class="product"> |
|||
<div class="img"> |
|||
{if condition="$vo['c_logo']&&file_exists('.'.ltrim($vo['c_logo'],'.'))"} |
|||
<img src="{:SITE_PATH}{$vo.c_logo}" width="100%"/> |
|||
{else}<img src="{$yf_theme_path}/public/images/default_tupian4.png" width="100%"/>{/if} |
|||
{if condition="$vo['c_tag'] eq 1"}<span class="tag">已成交</span>{/if} |
|||
<a {if condition="isset($vo['c_url']) and $vo['c_url']"}onclick='window.open("{$vo.c_url}")'{else} href="{:url('news/finance',array('c_id'=>$vo['c_id'],'kind'=>$kind))}"{/if} class="link">详情 ></a></div> |
|||
<div class="txt"> |
|||
<div class="org">{$vo.c_seller}</div> |
|||
<div class="name">{$vo.c_name}</div> |
|||
<div class="code"><b>标的编码:</b>{$vo.c_code}</p></div> |
|||
</div> |
|||
</div> |
|||
{/foreach} |
|||
</div> |
|||
<div class="clearfix"></div> |
|||
<div class="col-xs-12 text-center list-page">{$show}</div> |
|||
<div class="clearfix"></div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
<script> |
|||
$(function(){ |
|||
var url="{:url('news/bigdata',array('kind'=>17),true,true)}"; |
|||
var curpage={$curpage}; |
|||
var tpage={$totalpage}; |
|||
var next=prev=curpage; |
|||
$(".pagewraper .icon-arrow-left").click(function(){ |
|||
prev=curpage-1; |
|||
if(prev!=curpage){ |
|||
if(prev>0){ |
|||
window.location.href=url+'?page='+prev; |
|||
} |
|||
} |
|||
}); |
|||
$(".pagewraper .icon-arrow-right").click(function(){ |
|||
next=curpage+1; |
|||
if(next!=curpage){ |
|||
if(next<=tpage){ |
|||
window.location.href=url+'?page='+next; |
|||
} |
|||
} |
|||
}); |
|||
var swiper = new Swiper('#bannerswiper', { |
|||
paginationClickable: true, |
|||
centeredSlides: true, |
|||
autoplay: 5000, |
|||
autoplayDisableOnInteraction : false, |
|||
loop:true, |
|||
autoplayDisableOnInteraction: false |
|||
}); |
|||
}); |
|||
</script> |
|||
{include file="public:footer"/} |
|||
</body> |
|||
</html> |
|||
@ -0,0 +1,128 @@ |
|||
<!DOCTYPE html> |
|||
<!--[if IE 8]> <html class="ie ie8"> <![endif]--> |
|||
<!--[if IE 9]> <html class="ie ie9"> <![endif]--> |
|||
<!--[if gt IE 9]><!--> <html> <!--<![endif]--> |
|||
<head> |
|||
<meta charset="utf-8"> |
|||
<title>{$menu.menu_seo_title|default=$site_seo_title} {$site_name}</title> |
|||
<meta name="keywords" content="{$menu.menu_seo_key|default=$site_seo_keywords}" /> |
|||
<meta name="description" content="{$menu.menu_seo_des|default=$site_seo_description}"> |
|||
{include file="public:head" /} |
|||
</head> |
|||
<body class="detailsbg"> |
|||
<div class="contenter"> |
|||
{include file="public:nav" /} |
|||
<!--banner开始--> |
|||
<div class="detailsbanner"></div> |
|||
<!--banner结束--> |
|||
<!--body开始--> |
|||
<div class="content modeub bodymb"> |
|||
<!--mode left开始--> |
|||
<div class="modeleft "> |
|||
<div class="modelefttop modeub modever modeac modepc"> |
|||
<div class="lefttutitle">合作机构</div> |
|||
<div class="leften">Cooperation Agency</div> |
|||
</div> |
|||
<div class="modeleftmenu"> |
|||
<div class="leftmenu modeub modeac modepc button bubble-right " onmouseout="removeMenuStyle_whsb(this)" onmousemove="addMenuStyle_whsb(this)"> |
|||
<div class="modef1 jiesh" onclick="javascript:window.location.href='{:url(\'home/Listn/index\',[\'id\'=>52])}'"> |
|||
文化金融服务中心 |
|||
</div> |
|||
<div class="icon-huiseweixuanzhong iconfont modekuai"></div> |
|||
</div> |
|||
<div class="leftmenu modeub modeac modepc button bubble-right" onmouseout="removeMenuStyle_whsb(this)" onmousemove="addMenuStyle_whsb(this)"> |
|||
<div class="modef1 jiesh" onclick="javascript:window.location.href='{:url(\'home/Listn/index\',[\'id\'=>53])}'"> |
|||
专板(专区) |
|||
</div> |
|||
<div class="icon-huiseweixuanzhong iconfont modekuai"></div> |
|||
</div> |
|||
<div class="leftmenu modeub modeac modepc button bubble-right" onmouseout="removeMenuStyle_whsb(this)" onmousemove="addMenuStyle_whsb(this)"> |
|||
<div class="modef1 jiesh" onclick="javascript:window.location.href='{:url(\'home/Listn/index\',[\'id\'=>55])}'"> |
|||
省(市)运营中心 |
|||
</div> |
|||
<div class="icon-huiseweixuanzhong iconfont modekuai"></div> |
|||
</div> |
|||
<div class="leftmenu modeub modeac modepc button bubble-right " onmouseout="removeMenuStyle_whsb(this)" onmousemove="addMenuStyle_whsb(this)"> |
|||
<div class="modef1 jiesh" onclick="javascript:window.location.href='{:url(\'home/Listn/index\',[\'id\'=>56])}'"> |
|||
推荐机构 |
|||
</div> |
|||
<div class="icon-huiseweixuanzhong iconfont modekuai"></div> |
|||
</div> |
|||
<div class="leftmenu modeub modeac modepc button bubble-right" onmouseout="removeMenuStyle_whsb(this)" onmousemove="addMenuStyle_whsb(this)"> |
|||
<div class="modef1 jiesh" onclick="javascript:window.location.href='{:url(\'home/Listn/index\',[\'id\'=>57])}'"> |
|||
</a>驻场服务机构 |
|||
</div> |
|||
<div class="icon-huiseweixuanzhong iconfont modekuai"></div> |
|||
</div> |
|||
<div class="leftmenu modeub modeac modepc button bubble-right" onmouseout="removeMenuStyle_whsb(this)" onmousemove="addMenuStyle_whsb(this)"> |
|||
<div class="modef1 jiesh" onclick="javascript:window.location.href='{:url(\'home/Listn/index\',[\'id\'=>58])}'"> |
|||
</a>第三方服务机构 |
|||
</div> |
|||
<div class="icon-huiseweixuanzhong iconfont modekuai"></div> |
|||
</div> |
|||
<div class="leftmenu modeub modeac modepc button modeleftmenuactive bubble-right" onmouseout="removeMenuStyle_whsb(this)" onmousemove="addMenuStyle_whsb(this)"> |
|||
<div class="modef1 jiesh" onclick="javascript:window.location.href='{:url(\'home/Listn/index\',[\'id\'=>59])}'"> |
|||
</a>文产商城合作商 |
|||
</div> |
|||
<div class="icon-huiseweixuanzhong iconfont modekuai"></div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
<!--mode left结束--> |
|||
<!--mode right开始--> |
|||
<div class="modef1 moderight"> |
|||
<div class="moderighttag modeub modeac"> |
|||
<div class="tagtitle">合作机构</div> |
|||
<div class="tagline"></div> |
|||
<div class="tagtitleen"></div> |
|||
</div> |
|||
<div class="recruitlist"> |
|||
{volist name="lists" id="vo"} |
|||
<a href="{:url('home/News/whjrfwzx',['n_id'=>$vo.n_id])}" class="state_6_item"> |
|||
<div class="modeub modeac recruitcon" onmouseover="addnews3Class(this)" onmouseout="removenews3Class(this)" style="color: #1d1d1d"> |
|||
<div class="nor adleftimg norimg"></div> |
|||
<div class="recruitlisttitle modef1">{$vo.n_title}</div> |
|||
<div class="recruitlisttime">{$vo.n_time|date='Y·m·d',###}</div> |
|||
</div> |
|||
</a> |
|||
{/volist} |
|||
</div> |
|||
<div class="col-xs-12 text-center list-page" align="center">{$page}</div> |
|||
</div> |
|||
<!--mode right结束--> |
|||
</div> |
|||
<!--body结束--> |
|||
</div> |
|||
{include file="public:footer"/} |
|||
<script> |
|||
$(function() { |
|||
$(".subNav").click(function() { |
|||
$(this).next(".navContent").slideToggle(300).siblings(".navContent").slideUp(500); |
|||
}) |
|||
}) |
|||
|
|||
function addMenuStyle_whsb(t){ |
|||
$(t).addClass("modeleftmenuactive"); |
|||
} |
|||
function removeMenuStyle_whsb(t){ |
|||
if($(t).siblings(".modeleftmenuactive").length==1){ |
|||
$(t).removeClass("modeleftmenuactive"); |
|||
} |
|||
} |
|||
function removeMenuStyle_b_whsb(t){ |
|||
if($(t).parent().prev().attr("class").indexOf("modeleftmenuactive")>=0){ |
|||
if($(t).siblings(".modeleftmenuactive").length==1){ |
|||
$(t).removeClass("modeleftmenuactive"); |
|||
} |
|||
}else{ |
|||
if($(t).siblings(".modeleftmenuactive").length==0){ |
|||
$(t).removeClass("modeleftmenuactive"); |
|||
} |
|||
} |
|||
|
|||
} |
|||
|
|||
|
|||
</script> |
|||
</body> |
|||
</html> |
|||
@ -0,0 +1,103 @@ |
|||
<!DOCTYPE html> |
|||
<!--[if IE 8]> <html class="ie ie8"> <![endif]--> |
|||
<!--[if IE 9]> <html class="ie ie9"> <![endif]--> |
|||
<!--[if gt IE 9]><!--> <html> <!--<![endif]--> |
|||
<head> |
|||
<meta charset="utf-8"> |
|||
<title>{$menu.menu_seo_title|default=$site_seo_title} {$site_name}</title> |
|||
<meta name="keywords" content="{$menu.menu_seo_key|default=$site_seo_keywords}" /> |
|||
<meta name="description" content="{$menu.menu_seo_des|default=$site_seo_description}"> |
|||
{include file="public:head" /} |
|||
</head> |
|||
<body class="home"> |
|||
<div class="wrap"> |
|||
{include file="public:nav" /} |
|||
<div id="main-cmf"> |
|||
<div class="main-content top-back"></div> |
|||
<div class="main-content nav_i"> |
|||
<div class="container"> |
|||
<a href="{:url('home/Listn/index?id=4')}">合作机构</a><span> > 保荐机构</span> |
|||
<a href="{:url('home/Index/index')}" class="back pull-right">返回</a> |
|||
</div> |
|||
</div> |
|||
<div class="container about"> |
|||
<div class="col-md-3 hidden-xs hidden-sm"> |
|||
<div class="about_aside"> |
|||
<h3>合作机构</h3> |
|||
<ul> |
|||
<li class=""><a href="{:url('home/Listn/index',['id'=>52])}">文化金融服务中心</a></li> |
|||
<li class=""><a href="{:url('home/Listn/index',['id'=>53])}">专板(专区)</a></li> |
|||
<li class=""><a href="{:url('home/Listn/index',['id'=>54])}">专板线上托管中心</a></li> |
|||
<li class=""><a href="{:url('home/Listn/index',['id'=>55])}">省(市)运营中心</a></li> |
|||
<li class=""><a href="{:url('home/Listn/index',['id'=>56])}">推荐机构</a></li> |
|||
<li class=""><a href="{:url('home/Listn/index',['id'=>57])}">驻场服务机构</a></li> |
|||
<li class=""><a href="{:url('home/Listn/index',['id'=>58])}">第三方服务机构</a></li> |
|||
<li class="on"><a href="{:url('home/Listn/index',['id'=>59])}">保荐机构</a></li> |
|||
<li class=""><a href="{:url('home/Listn/index',['id'=>71])}">掌柜文化金服-公馆</a></li> |
|||
<li class=""><a href="{:url('home/Listn/index',['id'=>72])}">掌柜文化金服-艺拍</a></li> |
|||
<li class=""><a href="{:url('home/Listn/index',['id'=>73])}">掌柜文化金服-商城</a></li> |
|||
<li class=""><a href="{:url('home/Listn/index',['id'=>74])}">掌柜文化金服-艺术家银行</a></li> |
|||
</ul> |
|||
</div> |
|||
</div> |
|||
<div class="list-menu"> |
|||
<div class="mobile navbar-header"> |
|||
<a class="navbar-toggle" data-toggle="collapse" data-target=".menu2"> |
|||
<i class="fa fa-reorder icon-2x"></i> |
|||
</a> |
|||
</div> |
|||
<nav class="collapse navbar-collapse menu2"> |
|||
<div class="about_aside "> |
|||
<h3>合作机构</h3> |
|||
<ul class=""> |
|||
<li class=""><a href="{:url('home/Listn/index',['id'=>52])}">文化金融服务中心</a></li> |
|||
<li class=""><a href="{:url('home/Listn/index',['id'=>53])}">专板(专区)</a></li> |
|||
<li class=""><a href="{:url('home/Listn/index',['id'=>54])}">专板线上托管中心</a></li> |
|||
<li class=""><a href="{:url('home/Listn/index',['id'=>55])}">省(市)运营中心</a></li> |
|||
<li class=""><a href="{:url('home/Listn/index',['id'=>56])}">推荐机构</a></li> |
|||
<li class=""><a href="{:url('home/Listn/index',['id'=>57])}">驻场服务机构</a></li> |
|||
<li class=""><a href="{:url('home/Listn/index',['id'=>58])}">第三方服务机构</a></li> |
|||
<li class="on"><a href="{:url('home/Listn/index',['id'=>59])}">保荐机构</a></li> |
|||
<li class=""><a href="{:url('home/Listn/index',['id'=>71])}">掌柜文化金服-公馆</a></li> |
|||
<li class=""><a href="{:url('home/Listn/index',['id'=>72])}">掌柜文化金服-艺拍</a></li> |
|||
<li class=""><a href="{:url('home/Listn/index',['id'=>73])}">掌柜文化金服-商城</a></li> |
|||
<li class=""><a href="{:url('home/Listn/index',['id'=>74])}">掌柜文化金服-艺术家银行</a></li> |
|||
</ul> |
|||
</div> |
|||
</nav> |
|||
</div> |
|||
<div class="col-sm-12 col-xs-12 col-md-9 about_main"> |
|||
<div class="about_main about_v_main"> |
|||
<div class="row"> |
|||
<div class="col-xs-12 h2_title"> |
|||
<h2>保荐机构</h2> |
|||
</div> |
|||
<div class="col-xs-12 hdzx-list"> |
|||
{volist name="lists" id="vo"} |
|||
<a href="{:url('home/News/bjjg',['n_id'=>$vo.n_id])}" class="state_6_item"> |
|||
<div class="state_6_time" style="float: right!important;"> |
|||
<h3>{$vo.n_time|date='d',###}</h3> |
|||
<p>{$vo.n_time|date='Y-m',###}</p> |
|||
</div> |
|||
<div class="state_6_txt"> |
|||
<h4>▪ {$vo.n_title}</h4></div> |
|||
<div class="state_6_txt"> |
|||
<p>{$vo.n_desc}</p> |
|||
</div> |
|||
|
|||
<div class="clear"></div> |
|||
</a> |
|||
{/volist} |
|||
</div> |
|||
</div> |
|||
</div> |
|||
<div class="col-xs-12 text-center list-page">{$page}</div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
{include file="public:footer"/} |
|||
<script> |
|||
</script> |
|||
</body> |
|||
</html> |
|||
@ -0,0 +1,79 @@ |
|||
<!DOCTYPE html> |
|||
<!--[if IE 8]> <html class="ie ie8"> <![endif]--> |
|||
<!--[if IE 9]> <html class="ie ie9"> <![endif]--> |
|||
<!--[if gt IE 9]><!--> <html> <!--<![endif]--> |
|||
<head> |
|||
<meta charset="utf-8"> |
|||
<title>{$menu.menu_seo_title|default=$site_seo_title} {$site_name}</title> |
|||
<meta name="keywords" content="{$menu.menu_seo_key|default=$site_seo_keywords}" /> |
|||
<meta name="description" content="{$menu.menu_seo_des|default=$site_seo_description}"> |
|||
{include file="public:head" /} |
|||
</head> |
|||
<body class="detailsbg"> |
|||
<div class="contenter"> |
|||
{include file="public:nav" /} |
|||
<!--banner开始--> |
|||
<div class="detailsbanner"></div> |
|||
<!--banner结束--> |
|||
<!--body开始--> |
|||
<div class="content modeub bodymb"> |
|||
<!--mode left开始--> |
|||
<div class="modeleft "> |
|||
<div class="modelefttop modeub modever modeac modepc"> |
|||
<div class="lefttutitle">{$parent.menu_name}</div> |
|||
<div class="leften">{$parent.menu_enname}</div> |
|||
</div> |
|||
<div class="modeleftmenu"> |
|||
{foreach name="childs" id="vo"} |
|||
<div class="leftmenu modeub modeac modepc {if condition="$menu_id eq $vo['id']"}modeleftmenuactive{/if} button bubble-right " onmouseout="removeMenuStyle_whsb(this)" onmousemove="addMenuStyle_whsb(this)"> |
|||
<div class="modef1 jiesh" onclick="javascript:window.location.href='{:url(\'home/Listn/index\',[\'id\'=>$vo['id']])}'"> |
|||
{$vo.menu_name} |
|||
</div> |
|||
<div class="icon-huiseweixuanzhong iconfont modekuai"></div> |
|||
</div> |
|||
{/foreach} |
|||
</div> |
|||
</div> |
|||
<!--mode left结束--> |
|||
<!--mode right开始--> |
|||
<div class="modef1 moderight"> |
|||
<div class="moderighttag modeub modeac"> |
|||
<div class="tagtitle">本所荣誉</div> |
|||
<div class="tagline"></div> |
|||
<div class="tagtitleen"></div> |
|||
</div> |
|||
<div class=" " > |
|||
{$list.n_content} |
|||
</div> |
|||
</div> |
|||
<!--mode right结束--> |
|||
</div> |
|||
<!--body结束--> |
|||
</div> |
|||
{include file="public:footer"/} |
|||
<script> |
|||
|
|||
function addMenuStyle_whsb(t){ |
|||
$(t).addClass("modeleftmenuactive"); |
|||
} |
|||
function removeMenuStyle_whsb(t){ |
|||
if($(t).siblings(".modeleftmenuactive").length==1){ |
|||
$(t).removeClass("modeleftmenuactive"); |
|||
} |
|||
} |
|||
function removeMenuStyle_b_whsb(t){ |
|||
if($(t).parent().prev().attr("class").indexOf("modeleftmenuactive")>=0){ |
|||
if($(t).siblings(".modeleftmenuactive").length==1){ |
|||
$(t).removeClass("modeleftmenuactive"); |
|||
} |
|||
}else{ |
|||
if($(t).siblings(".modeleftmenuactive").length==0){ |
|||
$(t).removeClass("modeleftmenuactive"); |
|||
} |
|||
} |
|||
|
|||
} |
|||
</script> |
|||
</body> |
|||
<script src="{$yf_theme_path}public/js/leftmenu.js"></script> |
|||
</html> |
|||
@ -0,0 +1,91 @@ |
|||
<!DOCTYPE html> |
|||
<!--[if IE 8]> <html class="ie ie8"> <![endif]--> |
|||
<!--[if IE 9]> <html class="ie ie9"> <![endif]--> |
|||
<!--[if gt IE 9]><!--> <html> <!--<![endif]--> |
|||
<head> |
|||
<meta charset="utf-8"> |
|||
<title>{$menu.menu_seo_title|default=$site_seo_title} {$site_name}</title> |
|||
<meta name="keywords" content="{$menu.menu_seo_key|default=$site_seo_keywords}" /> |
|||
<meta name="description" content="{$menu.menu_seo_des|default=$site_seo_description}"> |
|||
{include file="public:head" /} |
|||
</head> |
|||
<body class="home"> |
|||
<div class="wrap"> |
|||
{include file="public:nav" /} |
|||
<div id="main-cmf"> |
|||
<div class="main-content top-back"></div> |
|||
<div class="main-content nav_i"> |
|||
<div class="container"> |
|||
<a href="{:url('home/Listn/index?id=2')}">走进本所</a><span> > 政策</span> |
|||
<a href="{:url('home/Index/index')}" class="back pull-right">返回</a> |
|||
</div> |
|||
</div> |
|||
<div class="container about"> |
|||
<div class="col-md-3 hidden-xs hidden-sm"> |
|||
<div class="about_aside"> |
|||
<h3>走进本所</h3> |
|||
<ul> |
|||
<li class=""><a href="{:url('home/Listn/index',['id'=>18])}">本所介绍</a></li> |
|||
<li class=""><a href="{:url('home/Listn/index',['id'=>19])}">宣传片</a></li> |
|||
<li class=""><a href="{:url('home/Listn/index',['id'=>20])}">组织架构</a></li> |
|||
<li class="on"><a href="{:url('home/Listn/index',['id'=>44])}">政策</a></li> |
|||
<li class=""><a href="{:url('home/Listn/index',['id'=>35])}">本所荣誉</a></li> |
|||
<li class=""><a href="{:url('home/Listn/index',['id'=>41])}">人才招聘</a></li> |
|||
</ul> |
|||
</div> |
|||
</div> |
|||
<div class="list-menu"> |
|||
<div class="mobile navbar-header"> |
|||
<a class="navbar-toggle" data-toggle="collapse" data-target=".menu2"> |
|||
<i class="fa fa-reorder icon-2x"></i> |
|||
</a> |
|||
</div> |
|||
<nav class="collapse navbar-collapse menu2"> |
|||
<div class="about_aside "> |
|||
<h3>走进本所</h3> |
|||
<ul class=""> |
|||
<li class=""><a href="{:url('home/Listn/index',['id'=>18])}">本所介绍</a></li> |
|||
<li class=""><a href="{:url('home/Listn/index',['id'=>19])}">宣传片</a></li> |
|||
<li class=""><a href="{:url('home/Listn/index',['id'=>20])}">组织架构</a></li> |
|||
<li class="on"><a href="{:url('home/Listn/index',['id'=>44])}">政策</a></li> |
|||
<li class=""><a href="{:url('home/Listn/index',['id'=>35])}">本所荣誉</a></li> |
|||
<li class=""><a href="{:url('home/Listn/index',['id'=>41])}">人才招聘</a></li> |
|||
</ul> |
|||
</div> |
|||
</nav> |
|||
</div> |
|||
<div class="col-sm-12 col-xs-12 col-md-9 about_main"> |
|||
<div class="about_main about_v_main"> |
|||
<div class="row"> |
|||
<div class="col-xs-12 h2_title"> |
|||
<h2>政策</h2> |
|||
</div> |
|||
<div class="col-xs-12 hdzx-list"> |
|||
{volist name="lists" id="vo"} |
|||
<a href="{:url('home/News/bszc',['n_id'=>$vo.n_id])}" class="state_6_item"> |
|||
<div class="state_6_time"> |
|||
<h3>{$vo.n_time|date='d',###}</h3> |
|||
<p>{$vo.n_time|date='Y-m',###}</p> |
|||
</div> |
|||
<div class="state_6_txt"> |
|||
<h4><span class="index_title_type">{$vo.type_name}</span>{$vo.n_title}</h4></div> |
|||
<div class="state_6_txt"> |
|||
<p>{$vo.n_desc}</p> |
|||
</div> |
|||
<div class="clear"></div> |
|||
</a> |
|||
{/volist} |
|||
</div> |
|||
</div> |
|||
</div> |
|||
<div class="col-xs-12 text-center list-page">{$page}</div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
{include file="public:footer"/} |
|||
{include file="public:scripts"/} |
|||
<script> |
|||
</script> |
|||
</body> |
|||
</html> |
|||
@ -0,0 +1,93 @@ |
|||
<!DOCTYPE html> |
|||
<!--[if IE 8]> <html class="ie ie8"> <![endif]--> |
|||
<!--[if IE 9]> <html class="ie ie9"> <![endif]--> |
|||
<!--[if gt IE 9]><!--> <html> <!--<![endif]--> |
|||
<head> |
|||
<meta charset="utf-8"> |
|||
<title>{$menu.menu_seo_title|default=$site_seo_title} {$site_name}</title> |
|||
<meta name="keywords" content="{$menu.menu_seo_key|default=$site_seo_keywords}" /> |
|||
<meta name="description" content="{$menu.menu_seo_des|default=$site_seo_description}"> |
|||
{include file="public:head" /} |
|||
<style>img{max-width: 100%}</style> |
|||
</head> |
|||
<body class="detailsbg"> |
|||
<div class="contenter"> |
|||
{include file="public:nav" /} |
|||
<!--banner开始--> |
|||
<div class="detailsbanner"></div> |
|||
<!--banner结束--> |
|||
<!--body开始--> |
|||
<div class="content modeub bodymb"> |
|||
<!--mode left开始--> |
|||
<div class="modeleft "> |
|||
<div class="modelefttop modeub modever modeac modepc"> |
|||
<div class="lefttutitle">走进本所</div> |
|||
<div class="leften">ABOUT US</div> |
|||
</div> |
|||
<div class="modeleftmenu"> |
|||
<div class="leftmenu modeub modeac modepc button bubble-right " onclick="javascript:window.location.href='{:url(\'home/Listn/index\',[\'id\'=>18])}'"> |
|||
<div class="modef1 jiesh">本所介绍</div> |
|||
<div class="icon-huiseweixuanzhong iconfont modekuai"></div> |
|||
</div> |
|||
<div class="leftmenu modeub modeac modepc button bubble-right " onclick="javascript:window.location.href='{:url(\'home/Listn/index\',[\'id\'=>19])}'"> |
|||
<div class="modef1 jiesh">宣传片</div> |
|||
<div class="icon-huiseweixuanzhong iconfont modekuai"></div> |
|||
</div> |
|||
<div class="leftmenu modeub modeac modepc button bubble-right " onclick="javascript:window.location.href='{:url(\'home/Listn/index\',[\'id\'=>20])}'"> |
|||
<div class="modef1 jiesh">组织架构</div> |
|||
<div class="icon-huiseweixuanzhong iconfont modekuai"></div> |
|||
</div> |
|||
<div class="leftmenu modeub modeac modepc modeleftmenuactive button bubble-right " onclick="javascript:window.location.href='{:url(\'home/Listn/index\',[\'id\'=>44])}'"> |
|||
<div class="modef1 jiesh">政策</div> |
|||
<div class="icon-huiseweixuanzhong iconfont modekuai"></div> |
|||
</div> |
|||
<div class="leftmenu modeub modeac modepc button bubble-right " onclick="javascript:window.location.href='{:url(\'home/Listn/index\',[\'id\'=>35])}'"> |
|||
<div class="modef1 jiesh">本所荣誉</div> |
|||
<div class="icon-huiseweixuanzhong iconfont modekuai"></div> |
|||
</div> |
|||
<div class="leftmenu modeub modeac modepc button bubble-right " onclick="javascript:window.location.href='{:url(\'home/Listn/index\',[\'id\'=>41])}'"> |
|||
<div class="modef1 jiesh">人才招聘</div> |
|||
<div class="icon-huiseweixuanzhong iconfont modekuai"></div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
<!--mode left结束--> |
|||
<!--mode right开始--> |
|||
<div class="modef1 moderight"> |
|||
<div class="moderighttag modeub modeac"> |
|||
<div class="tagtitle">政策</div> |
|||
<div class="tagline">/</div> |
|||
<div class="tagtitleen">Policy</div> |
|||
</div> |
|||
<div class="policycon"> |
|||
<div class="policycontent"> |
|||
{volist name="lists" id="vo"} |
|||
<div class="policybody modeub modepc" onmouseover="adddivbg(this)" onmouseout="removedivbg(this)" onclick="javascript:window.location.href = '{:url('home/News/bszc2',['n_id'=>$vo.n_id])}'"> |
|||
<div class="policyimg logobackimg"> |
|||
<img src="{$vo.n_img}"> |
|||
</div> |
|||
<div class="modef1 policycenter"> |
|||
<div class="modeub modeac"> |
|||
<div class="centername modeub modeac modepc">{$vo.type_name}</div> |
|||
<div class="modef1 centettitle">{$vo.n_title}</div> |
|||
</div> |
|||
<div class="centerdes">{$vo.n_desc}</div> |
|||
</div> |
|||
<div class="policyright modeub modever modeac modepc"> |
|||
<div class="policyyear modeub modeac modepc">{$vo.n_time|date='Y',###}</div> |
|||
<div class="policymd modeub modeac modepc">{$vo.n_time|date='m-d',###}</div> |
|||
</div> |
|||
</div> |
|||
{/volist} |
|||
</div> |
|||
</div> |
|||
<div class="list-page" align="center">{$page}</div> |
|||
</div> |
|||
<!--mode right结束--> |
|||
</div> |
|||
<!--body结束--> |
|||
</div> |
|||
{include file="public:footer"/} |
|||
<script src="{$yf_theme_path}public/js/leftmenu.js"></script> |
|||
</body> |
|||
</html> |
|||
@ -0,0 +1,116 @@ |
|||
<!DOCTYPE html> |
|||
<!--[if IE 8]> <html class="ie ie8"> <![endif]--> |
|||
<!--[if IE 9]> <html class="ie ie9"> <![endif]--> |
|||
<!--[if gt IE 9]><!--> <html> <!--<![endif]--> |
|||
<head> |
|||
<meta charset="utf-8"> |
|||
<title>{$menu.menu_seo_title|default=$site_seo_title} {$site_name}</title> |
|||
<meta name="keywords" content="{$menu.menu_seo_key|default=$site_seo_keywords}" /> |
|||
<meta name="description" content="{$menu.menu_seo_des|default=$site_seo_description}"> |
|||
{include file="public:head" /} |
|||
</head> |
|||
<body class="home"> |
|||
<div class="wrap"> |
|||
{include file="public:nav" /} |
|||
<div id="main-cmf"> |
|||
<div class="main-content top-back"></div> |
|||
<div class="main-content nav_i"> |
|||
<div class="container"> |
|||
<a href="{:url('home/Listn/index?id=5')}">文化资产</a><span> > 办事指南</span> |
|||
<a href="{:url('home/Index/index')}" class="back pull-right">返回</a> |
|||
</div> |
|||
</div> |
|||
<div class="container about"> |
|||
<div class="col-md-3 hidden-xs hidden-sm"> |
|||
<div class="about_aside"> |
|||
<h3>国有资产</h3> |
|||
<ul> |
|||
<li class=""><a href="{:url('home/Listn/index',['id'=>26,'cid'=>1])}">业务介绍</a></li> |
|||
<li class="on"><a href="{:url('home/Listn/index',['id'=>26,'cid'=>2])}">办事指南</a></li> |
|||
<li class=""><a href="{:url('home/Listn/index',['id'=>26,'cid'=>3])}">公示公告</a></li> |
|||
<li class=""><a href="{:url('home/listn/cult_list',['type'=>'whzc'])}">国有项目</a></li> |
|||
<li class=""><a href="{:url('home/Listn/index',['id'=>26,'cid'=>5])}">常见问题</a></li> |
|||
<li class=""> |
|||
<a href="javascript:void(0);" class="down-menu">政策法规<b class="arrow fa fa-angle-down"></b></a> |
|||
<ul class="down-child" style="display: none;"> |
|||
<li class=""><a href="{:url('home/Listn/index',['id'=>26,'cid'=>6,'zc_cid'=>1])}">综合法规</a></li> |
|||
<li class=""><a href="{:url('home/Listn/index',['id'=>26,'cid'=>6,'zc_cid'=>2])}">产权法规</a></li> |
|||
<li class=""><a href="{:url('home/Listn/index',['id'=>26,'cid'=>6,'zc_cid'=>3])}">资产处置</a></li> |
|||
</ul> |
|||
</li> |
|||
<li class=""><a href="{:url('home/Listn/index',['id'=>26,'cid'=>7])}">资料下载</a></li> |
|||
</ul> |
|||
</div> |
|||
</div> |
|||
<div class="list-menu"> |
|||
<div class="mobile navbar-header"> |
|||
<a class="navbar-toggle" data-toggle="collapse" data-target=".menu2"> |
|||
<i class="fa fa-reorder icon-2x"></i> |
|||
</a> |
|||
</div> |
|||
<nav class="collapse navbar-collapse menu2"> |
|||
<div class="about_aside "> |
|||
<h3>国有资产</h3> |
|||
<ul> |
|||
<li class=""><a href="{:url('home/Listn/index',['id'=>26,'cid'=>1])}">业务介绍</a></li> |
|||
<li class="on"><a href="{:url('home/Listn/index',['id'=>26,'cid'=>2])}">办事指南</a></li> |
|||
<li class=""><a href="{:url('home/Listn/index',['id'=>26,'cid'=>3])}">公示公告</a></li> |
|||
<li class=""><a href="{:url('home/listn/cult_list',['type'=>'whzc'])}">国有项目</a></li> |
|||
<li class=""><a href="{:url('home/Listn/index',['id'=>26,'cid'=>5])}">常见问题</a></li> |
|||
<li class=""> |
|||
<a href="javascript:void(0);" class="down-menu">政策法规<b class="arrow fa fa-angle-down"></b></a> |
|||
<ul class="down-child" style="display: none;"> |
|||
<li class=""><a href="{:url('home/Listn/index',['id'=>26,'cid'=>6,'zc_cid'=>1])}">综合法规</a></li> |
|||
<li class=""><a href="{:url('home/Listn/index',['id'=>26,'cid'=>6,'zc_cid'=>2])}">产权法规</a></li> |
|||
<li class=""><a href="{:url('home/Listn/index',['id'=>26,'cid'=>6,'zc_cid'=>3])}">资产处置</a></li> |
|||
</ul> |
|||
</li> |
|||
<li class=""><a href="{:url('home/Listn/index',['id'=>26,'cid'=>7])}">资料下载</a></li> |
|||
</ul> |
|||
</div> |
|||
</nav> |
|||
</div> |
|||
<div class="col-sm-12 col-xs-12 col-md-9 about_main"> |
|||
<div class="col-xs-12 h2_title"> |
|||
<h2>办事指南</h2> |
|||
</div> |
|||
<div class="about_m_list"> |
|||
{volist name="lists" id="vo"} |
|||
<div class="about_m_item"> |
|||
<div class="about_m_title"> |
|||
<span></span> |
|||
<p>{$vo.n_title}</p> |
|||
<a href="javascript:;"></a> |
|||
</div> |
|||
<div class="about_m_txt"> |
|||
{$vo.n_content} |
|||
</div> |
|||
</div> |
|||
{/volist} |
|||
</div> |
|||
</div> |
|||
|
|||
</div> |
|||
</div> |
|||
</div> |
|||
{include file="public:footer"/} |
|||
{include file="public:scripts"/} |
|||
<script> |
|||
$(".about_m_title a").toggle(function () { |
|||
$(this).css("background", "url({$yf_theme_path}public/images/about_top_10.png) no-repeat center"); |
|||
$(this).parent().find("p").css({ "background": "url({$yf_theme_path}public/images/about_bg_07.png) no-repeat left 8px", "color": "#FFF" }); |
|||
$(this).parent().find(".about_p").css({ "background": "url({$yf_theme_path}public/images/about_bg_08.png) no-repeat left 8px", "color": "#FFF" }); |
|||
$(this).parent().find(".trust_p").css({ "background": "url({$yf_theme_path}public/images/trust_03.png) no-repeat left 8px", "color": "#FFF" }); |
|||
$(this).parent().find("span").css({ "background": "url({$yf_theme_path}public/images/about_m_bg1_03.png) no-repeat left center", "width": "8px", "height": "8px", "margin": "-4px 13px 0 3px" }); |
|||
$(this).parent().css({ "border-top": "0", "border-bottom": "1px solid #9e0404" }); |
|||
$(this).parent().next().css("display", "block") |
|||
}, function () { |
|||
$(this).css("background", "url({$yf_theme_path}public/images/about_bo_19.png) no-repeat center"); |
|||
$(this).parent().find("p").css({ "background": "", "color": "#9e0404" }); |
|||
$(this).parent().find("span").css({ "background": "url({$yf_theme_path}public/images/about_m_bg_03.png) left bottom", "width": "36px", "height": "36px", "margin": "-4px 25px 0 10px" }); |
|||
$(this).parent().css({ "border-top": "1px solid #f3bcbf", "border-bottom": "1px solid #f3bcbf" }); |
|||
$(this).parent().next().css("display", "none") |
|||
}); |
|||
</script> |
|||
</body> |
|||
</html> |
|||
@ -0,0 +1,91 @@ |
|||
<!DOCTYPE html> |
|||
<!--[if IE 8]> <html class="ie ie8"> <![endif]--> |
|||
<!--[if IE 9]> <html class="ie ie9"> <![endif]--> |
|||
<!--[if gt IE 9]><!--> <html> <!--<![endif]--> |
|||
<head> |
|||
<meta charset="utf-8"> |
|||
<title>{$menu.menu_seo_title|default=$site_seo_title} {$site_name}</title> |
|||
<meta name="keywords" content="{$menu.menu_seo_key|default=$site_seo_keywords}" /> |
|||
<meta name="description" content="{$menu.menu_seo_des|default=$site_seo_description}"> |
|||
{include file="public:head" /} |
|||
</head> |
|||
<body class="home"> |
|||
<div class="wrap"> |
|||
{include file="public:nav" /} |
|||
<div id="main-cmf"> |
|||
<div class="main-content top-back"></div> |
|||
<div class="main-content nav_i"> |
|||
<div class="container"> |
|||
<a href="{:url('home/Listn/index?id=5')}">文化资产</a><span> > 常见问题</span> |
|||
<a href="{:url('home/Index/index')}" class="back pull-right">返回</a> |
|||
</div> |
|||
</div> |
|||
<div class="container about"> |
|||
<div class="col-md-3 hidden-xs hidden-sm"> |
|||
<div class="about_aside"> |
|||
<h3>国有资产</h3> |
|||
<ul> |
|||
<li class=""><a href="{:url('home/Listn/index',['id'=>26,'cid'=>1])}">业务介绍</a></li> |
|||
<li class=""><a href="{:url('home/Listn/index',['id'=>26,'cid'=>2])}">办事指南</a></li> |
|||
<li class=""><a href="{:url('home/Listn/index',['id'=>26,'cid'=>3])}">公示公告</a></li> |
|||
<li class=""><a href="{:url('home/listn/cult_list',['type'=>'whzc'])}">国有项目</a></li> |
|||
<li class="on"><a href="{:url('home/Listn/index',['id'=>26,'cid'=>5])}">常见问题</a></li> |
|||
<li class=""> |
|||
<a href="javascript:void(0);" class="down-menu">政策法规<b class="arrow fa fa-angle-down"></b></a> |
|||
<ul class="down-child" style="display: none;"> |
|||
<li class=""><a href="{:url('home/Listn/index',['id'=>26,'cid'=>6,'zc_cid'=>1])}">综合法规</a></li> |
|||
<li class=""><a href="{:url('home/Listn/index',['id'=>26,'cid'=>6,'zc_cid'=>2])}">产权法规</a></li> |
|||
<li class=""><a href="{:url('home/Listn/index',['id'=>26,'cid'=>6,'zc_cid'=>3])}">资产处置</a></li> |
|||
</ul> |
|||
</li> |
|||
<li class=""><a href="{:url('home/Listn/index',['id'=>26,'cid'=>7])}">资料下载</a></li> |
|||
</ul> |
|||
</div> |
|||
</div> |
|||
<div class="list-menu"> |
|||
<div class="mobile navbar-header"> |
|||
<a class="navbar-toggle" data-toggle="collapse" data-target=".menu2"> |
|||
<i class="fa fa-reorder icon-2x"></i> |
|||
</a> |
|||
</div> |
|||
<nav class="collapse navbar-collapse menu2"> |
|||
<div class="about_aside "> |
|||
<h3>国有资产</h3> |
|||
<ul> |
|||
<li class=""><a href="{:url('home/Listn/index',['id'=>26,'cid'=>1])}">业务介绍</a></li> |
|||
<li class=""><a href="{:url('home/Listn/index',['id'=>26,'cid'=>2])}">办事指南</a></li> |
|||
<li class=""><a href="{:url('home/Listn/index',['id'=>26,'cid'=>3])}">公示公告</a></li> |
|||
<li class=""><a href="{:url('home/listn/cult_list',['type'=>'whzc'])}">国有项目</a></li> |
|||
<li class="on"><a href="{:url('home/Listn/index',['id'=>26,'cid'=>5])}">常见问题</a></li> |
|||
<li class=""> |
|||
<a href="javascript:void(0);" class="down-menu">政策法规<b class="arrow fa fa-angle-down"></b></a> |
|||
<ul class="down-child" style="display: none;"> |
|||
<li class=""><a href="{:url('home/Listn/index',['id'=>26,'cid'=>6,'zc_cid'=>1])}">综合法规</a></li> |
|||
<li class=""><a href="{:url('home/Listn/index',['id'=>26,'cid'=>6,'zc_cid'=>2])}">产权法规</a></li> |
|||
<li class=""><a href="{:url('home/Listn/index',['id'=>26,'cid'=>6,'zc_cid'=>3])}">资产处置</a></li> |
|||
</ul> |
|||
</li> |
|||
<li class=""><a href="{:url('home/Listn/index',['id'=>26,'cid'=>7])}">资料下载</a></li> |
|||
</ul> |
|||
</div> |
|||
</nav> |
|||
</div> |
|||
<div class="col-sm-12 col-xs-12 col-md-9 about_main"> |
|||
<div class="about_main about_v_main"> |
|||
<div class="row"> |
|||
<div class="col-xs-12 h2_title"> |
|||
<h2>常见问题</h2> |
|||
</div> |
|||
<div class="col-xs-12"> |
|||
<p>{$list.n_content}</p> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
{include file="public:footer"/} |
|||
{include file="public:scripts"/} |
|||
</body> |
|||
</html> |
|||
@ -0,0 +1,169 @@ |
|||
<!DOCTYPE html> |
|||
<!--[if IE 8]> <html class="ie ie8"> <![endif]--> |
|||
<!--[if IE 9]> <html class="ie ie9"> <![endif]--> |
|||
<!--[if gt IE 9]><!--> <html> <!--<![endif]--> |
|||
<head> |
|||
<meta charset="utf-8"> |
|||
<title>联系我们 {$site_name}</title> |
|||
<meta name="keywords" content="{$menu.menu_seo_key|default=$site_seo_keywords}" /> |
|||
<meta name="description" content="{$menu.menu_seo_des|default=$site_seo_description}"> |
|||
{include file="public:head" /} |
|||
<style> |
|||
.numberlogoleft2{width:140px;} |
|||
</style> |
|||
</head> |
|||
<body class="detailsbg"> |
|||
<div class="contenter"> |
|||
{include file="public:nav" /} |
|||
<div class="detailsbanner"></div> |
|||
<!--banner结束--> |
|||
<!--body开始--> |
|||
<div class="content bodymb pcdiv"> |
|||
<div class="basictop modef1"> |
|||
<div class="moderighttag modeub modeac"> |
|||
<div class="linecolor"></div> |
|||
<div class="basictitle">留言</div> |
|||
</div> |
|||
<div class="phonemap"> |
|||
<div class="ub ub-f1"> |
|||
<div class="ub-f1"> |
|||
<div id="container" class="container logobackimg modeub modeac modepc" > |
|||
<div class="mapbg"> |
|||
<div class="modeub modeac"> |
|||
<div class="icon-dingweiicon iconfont dingwei"></div> |
|||
<div class="dingweiadress">{:lang('address')}:</div> |
|||
<div class="dingweiadress dingname">{$site_address}</div> |
|||
</div> |
|||
<div class="modeub modeac"> |
|||
<div class="icon-icon_dianhua iconfont dingwei"></div> |
|||
<div class="dingweiadress">客服电话:</div> |
|||
<div class="dingweiadress dingname">0755-88266839</div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
<form class="form-horizontal verify-ajax-form" name="plug_sug_add" id="" method="post" action="{:url('/home/Index/addmsg')}"> |
|||
<div class="ub-f1"> |
|||
<div class="modeub numbercon modeac modepc"> |
|||
<div class="numberlogoleft numberlogoleft2 modeub modever modepc youname" > |
|||
<div class="">留言</div> |
|||
<div class="bitian">(必填)</div> |
|||
</div> |
|||
<div class="headertextarea modeub numberleft" style=" width: auto"> |
|||
<div class="textarealeft logobackimg textarealeft2"></div> |
|||
<div class="modef1 textareacenter modeub modeac textareacenter2"> |
|||
<textarea class="form-control" id="message" placeholder="Write you message here..." style="width: 334px;" name="plug_sug_content" required></textarea> |
|||
</div> |
|||
<div class="textarearight logobackimg textarearight2"></div> |
|||
</div> |
|||
</div> |
|||
<div class="modeub numbercon modeac modepc"> |
|||
<div class="numberlogoleft numberlogoleft2 modeub modever modepc youname" > |
|||
<div class="">名字</div> |
|||
<div class="bitian">(必填)</div> |
|||
</div> |
|||
<div class="modef1 numberleft numberbody modeub"> |
|||
<div class="numberlefticon"></div> |
|||
<div class="numbercentericon modeub modeac"> |
|||
<input type="text" name="plug_sug_name" placeholder="Your name" class="numberinputwh numberinputwh2 numberinputwh3" style="width: 334px;" required> |
|||
</div> |
|||
<div class="numberrighticon"></div> |
|||
</div> |
|||
</div> |
|||
<div class="modeub numbercon modeac modepc"> |
|||
<div class="numberlogoleft numberlogoleft2 modeub modever modepc youname" > |
|||
<div class="">手机</div> |
|||
<div class="bitian">(必填)</div> |
|||
</div> |
|||
<div class="modef1 numberleft numberbody modeub"> |
|||
<div class="numberlefticon"></div> |
|||
<div class="numbercentericon modeub modeac"> |
|||
<input type="text" pattern="^1[3-9]\d{9}$" name="plug_sug_tel" placeholder="Mobile phone" class="numberinputwh numberinputwh2 numberinputwh3" style="width: 334px;" required> |
|||
</div> |
|||
<div class="numberrighticon"></div> |
|||
</div> |
|||
</div> |
|||
<div class="modeub numbercon modeac modepc"> |
|||
<div class="numberlogoleft numberlogoleft2 modeub modever modepc youname" > |
|||
<div class="">邮箱</div> |
|||
<div class="bitian"></div> |
|||
</div> |
|||
<div class="modef1 numberleft numberbody modeub"> |
|||
<div class="numberlefticon"></div> |
|||
<div class="numbercentericon modeub modeac"> |
|||
<input type="email" name="plug_sug_email" placeholder="Email address" class="numberinputwh numberinputwh2 numberinputwh3" style="width: 334px;"> |
|||
</div> |
|||
<div class="numberrighticon"></div> |
|||
</div> |
|||
</div> |
|||
<div class="modeub numbercon modeac modepc"> |
|||
<div class="numberlogoleft numberlogoleft2 modeub modever modepc youname" > |
|||
<div class="">{:lang('captcha')}</div> |
|||
<div class="bitian"></div> |
|||
</div> |
|||
<div class="modef1 numberleft numberbody modeub"> |
|||
<div class="numberlefticon"></div> |
|||
<div class="numbercentericon modeub modeac"> |
|||
<input type="text" name="verify" maxlength="5" placeholder="verify" class="numberinputwh numberinputwh2 numberinputwh3" style="width: 84px;" required> |
|||
<div class="authcode"><img class="verify_img form-control" id="verify_img" src="{:url('home/Index/check_verify',['key'=>'msg'])}" onClick="this.src='{:url('home/Index/check_verify',['key'=>'msg'])}'+'?'+Math.random()" style="cursor:pointer;padding:0;" title="{:lang('click to get')}"></div> |
|||
</div> |
|||
<div class="numberrighticon"></div> |
|||
</div> |
|||
</div> |
|||
{:token('__contact__')} |
|||
<div class="modeub modeac modepc faliuy"> |
|||
<div class="basicname modeub modeac modepc">发送留言</div> |
|||
<input type="submit" style="display: none;"> |
|||
</div> |
|||
</div> |
|||
</form> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
|
|||
</div> |
|||
<!--body结束--> |
|||
|
|||
</div> |
|||
{include file="public:footer" /} |
|||
{include file="public:scripts" /} |
|||
</body> |
|||
<script type="text/javascript"> |
|||
$(function(){ |
|||
$("form .loginbutton,.basicname").click(function(){ |
|||
var flag = true; |
|||
$(this).parents("form").find("input").each(function(){ |
|||
if($(this)[0].validity.valueMissing){ |
|||
flag = false; |
|||
} |
|||
}); |
|||
if($(this).parents("form").find("input[name='plug_sug_tel']")[0].validity.patternMismatch){ |
|||
flag = false; |
|||
} |
|||
if(flag){ |
|||
var img = $(this).parents("form").find("img"); |
|||
$.ajax({type:"POST", |
|||
url:$(this).parents("form").first().attr("action"), |
|||
data:$(this).parents("form").first().serialize(), |
|||
async: false, |
|||
success:function (data) { |
|||
if (data.code == 1) { |
|||
layer.alert(data.msg, {icon: 6}, function (index) { |
|||
layer.close(index); |
|||
}); |
|||
}else{ |
|||
$("input[name='__contact__']").val(data.data.token); |
|||
layer.alert(data.msg, {icon: 5}, function (index) { |
|||
layer.close(index); |
|||
img.click(); |
|||
}); |
|||
} |
|||
} |
|||
}) |
|||
}else{ |
|||
$(this).next().click(); |
|||
} |
|||
}) |
|||
}) |
|||
</script> |
|||
</html> |
|||
@ -0,0 +1,179 @@ |
|||
<!DOCTYPE html> |
|||
<!--[if IE 8]> <html class="ie ie8"> <![endif]--> |
|||
<!--[if IE 9]> <html class="ie ie9"> <![endif]--> |
|||
<!--[if gt IE 9]><!--> <html> <!--<![endif]--> |
|||
<head> |
|||
<meta charset="utf-8"> |
|||
<title>联系我们 {$site_name}</title> |
|||
<meta name="keywords" content="{$menu.menu_seo_key|default=$site_seo_keywords}" /> |
|||
<meta name="description" content="{$menu.menu_seo_des|default=$site_seo_description}"> |
|||
{include file="public:head" /} |
|||
<style> |
|||
.numberlogoleft2{width:140px;} |
|||
</style> |
|||
</head> |
|||
<body class="detailsbg"> |
|||
<div class="contenter"> |
|||
{include file="public:nav" /} |
|||
<div class="detailsbanner"></div> |
|||
<!--banner结束--> |
|||
<!--body开始--> |
|||
<div class="content bodymb pcdiv"> |
|||
<div class="basictop modef1"> |
|||
<div class="moderighttag modeub modeac"> |
|||
<div class="linecolor"></div> |
|||
<div class="basictitle">留言</div> |
|||
</div> |
|||
<div class="phonemap"> |
|||
<div class="ub ub-f1"> |
|||
<div class="ub-f1"> |
|||
<div id="container" class="container logobackimg modeub modeac modepc" > |
|||
<div class="mapbg"> |
|||
<div class="modeub modeac"> |
|||
<div class="icon-dingweiicon iconfont dingwei"></div> |
|||
<div class="dingweiadress">{:lang('address')}:</div> |
|||
<div class="dingweiadress dingname">{$site_address}</div> |
|||
</div> |
|||
<div class="modeub modeac"> |
|||
<div class="icon-icon_dianhua iconfont dingwei"></div> |
|||
<div class="dingweiadress">艺术金融中心:</div> |
|||
<div class="dingweiadress dingname">0755-88266911</div> |
|||
</div> |
|||
<div class="modeub modeac"> |
|||
<div class="icon-icon_dianhua iconfont dingwei"></div> |
|||
<div class="dingweiadress">文化金融中心:</div> |
|||
<div class="dingweiadress dingname">0755-88266839</div> |
|||
</div> |
|||
<div class="modeub modeac"> |
|||
<div class="icon-icon_dianhua iconfont dingwei"></div> |
|||
<div class="dingweiadress">投诉与建议:</div> |
|||
<div class="dingweiadress dingname">0755-88266911</div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
<form class="form-horizontal verify-ajax-form" name="plug_sug_add" id="" method="post" action="{:url('/home/Index/addmsg')}"> |
|||
<div class="ub-f1"> |
|||
<div class="modeub numbercon modeac modepc"> |
|||
<div class="numberlogoleft numberlogoleft2 modeub modever modepc youname" > |
|||
<div class="">留言</div> |
|||
<div class="bitian">(必填)</div> |
|||
</div> |
|||
<div class="headertextarea modeub numberleft" style=" width: auto"> |
|||
<div class="textarealeft logobackimg textarealeft2"></div> |
|||
<div class="modef1 textareacenter modeub modeac textareacenter2"> |
|||
<textarea class="form-control" id="message" placeholder="Write you message here..." style="width: 334px;" name="plug_sug_content" required></textarea> |
|||
</div> |
|||
<div class="textarearight logobackimg textarearight2"></div> |
|||
</div> |
|||
</div> |
|||
<div class="modeub numbercon modeac modepc"> |
|||
<div class="numberlogoleft numberlogoleft2 modeub modever modepc youname" > |
|||
<div class="">名字</div> |
|||
<div class="bitian">(必填)</div> |
|||
</div> |
|||
<div class="modef1 numberleft numberbody modeub"> |
|||
<div class="numberlefticon"></div> |
|||
<div class="numbercentericon modeub modeac"> |
|||
<input type="text" name="plug_sug_name" placeholder="Your name" class="numberinputwh numberinputwh2 numberinputwh3" style="width: 334px;" required> |
|||
</div> |
|||
<div class="numberrighticon"></div> |
|||
</div> |
|||
</div> |
|||
<div class="modeub numbercon modeac modepc"> |
|||
<div class="numberlogoleft numberlogoleft2 modeub modever modepc youname" > |
|||
<div class="">手机</div> |
|||
<div class="bitian">(必填)</div> |
|||
</div> |
|||
<div class="modef1 numberleft numberbody modeub"> |
|||
<div class="numberlefticon"></div> |
|||
<div class="numbercentericon modeub modeac"> |
|||
<input type="text" pattern="^1[3-9]\d{9}$" name="plug_sug_tel" placeholder="Mobile phone" class="numberinputwh numberinputwh2 numberinputwh3" style="width: 334px;" required> |
|||
</div> |
|||
<div class="numberrighticon"></div> |
|||
</div> |
|||
</div> |
|||
<div class="modeub numbercon modeac modepc"> |
|||
<div class="numberlogoleft numberlogoleft2 modeub modever modepc youname" > |
|||
<div class="">邮箱</div> |
|||
<div class="bitian"></div> |
|||
</div> |
|||
<div class="modef1 numberleft numberbody modeub"> |
|||
<div class="numberlefticon"></div> |
|||
<div class="numbercentericon modeub modeac"> |
|||
<input type="email" name="plug_sug_email" placeholder="Email address" class="numberinputwh numberinputwh2 numberinputwh3" style="width: 334px;"> |
|||
</div> |
|||
<div class="numberrighticon"></div> |
|||
</div> |
|||
</div> |
|||
<div class="modeub numbercon modeac modepc"> |
|||
<div class="numberlogoleft numberlogoleft2 modeub modever modepc youname" > |
|||
<div class="">{:lang('captcha')}</div> |
|||
<div class="bitian"></div> |
|||
</div> |
|||
<div class="modef1 numberleft numberbody modeub"> |
|||
<div class="numberlefticon"></div> |
|||
<div class="numbercentericon modeub modeac"> |
|||
<input type="text" name="verify" maxlength="5" placeholder="verify" class="numberinputwh numberinputwh2 numberinputwh3" style="width: 84px;" required> |
|||
<div class="authcode"><img class="verify_img form-control" id="verify_img" src="{:url('home/Index/check_verify',['key'=>'msg'])}" onClick="this.src='{:url('home/Index/check_verify',['key'=>'msg'])}'+'?'+Math.random()" style="cursor:pointer;padding:0;" title="{:lang('click to get')}"></div> |
|||
</div> |
|||
<div class="numberrighticon"></div> |
|||
</div> |
|||
</div> |
|||
{:token('__contact__')} |
|||
<div class="modeub modeac modepc faliuy"> |
|||
<div class="basicname modeub modeac modepc">发送留言</div> |
|||
<input type="submit" style="display: none;"> |
|||
</div> |
|||
</div> |
|||
</form> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
|
|||
</div> |
|||
<!--body结束--> |
|||
|
|||
</div> |
|||
{include file="public:footer" /} |
|||
{include file="public:scripts" /} |
|||
</body> |
|||
<script type="text/javascript"> |
|||
$(function(){ |
|||
$("form .loginbutton,.basicname").click(function(){ |
|||
var flag = true; |
|||
$(this).parents("form").find("input").each(function(){ |
|||
if($(this)[0].validity.valueMissing){ |
|||
flag = false; |
|||
} |
|||
}); |
|||
if($(this).parents("form").find("input[name='plug_sug_tel']")[0].validity.patternMismatch){ |
|||
flag = false; |
|||
} |
|||
if(flag){ |
|||
var img = $(this).parents("form").find("img"); |
|||
$.ajax({type:"POST", |
|||
url:$(this).parents("form").first().attr("action"), |
|||
data:$(this).parents("form").first().serialize(), |
|||
async: false, |
|||
success:function (data) { |
|||
if (data.code == 1) { |
|||
layer.alert(data.msg, {icon: 6}, function (index) { |
|||
layer.close(index); |
|||
}); |
|||
}else{ |
|||
$("input[name='__contact__']").val(data.data.token); |
|||
layer.alert(data.msg, {icon: 5}, function (index) { |
|||
layer.close(index); |
|||
img.click(); |
|||
}); |
|||
} |
|||
} |
|||
}) |
|||
}else{ |
|||
$(this).next().click(); |
|||
} |
|||
}) |
|||
}) |
|||
</script> |
|||
</html> |
|||
@ -0,0 +1,66 @@ |
|||
<!DOCTYPE html> |
|||
<!--[if IE 8]> <html class="ie ie8"> <![endif]--> |
|||
<!--[if IE 9]> <html class="ie ie9"> <![endif]--> |
|||
<!--[if gt IE 9]><!--> <html> <!--<![endif]--> |
|||
<head> |
|||
<meta charset="utf-8"> |
|||
<title>{$menu.menu_seo_title|default=$site_seo_title} {$site_name}</title> |
|||
<meta name="keywords" content="{$menu.menu_seo_key|default=$site_seo_keywords}" /> |
|||
<meta name="description" content="{$menu.menu_seo_des|default=$site_seo_description}"> |
|||
{include file="public:head" /} |
|||
</head> |
|||
<body class="home"> |
|||
<div class="contenter"> |
|||
{include file="public:nav" /} |
|||
<div class="content"> |
|||
<div class="basictop" style="margin-top: 0; margin-bottom: 80px"> |
|||
<div class="" style="padding: 0 20px 20px 20px;"> |
|||
<div class="tabs modeub modeac"> |
|||
<div class="iconfont icon-home hometabs"></div> |
|||
<div class="tabstitle">挂牌企业</div> |
|||
<div class="marketsegment segment">/</div> |
|||
<div class="tabstitle tabslast modef1">{if condition="isset($title) and $title"}{$title}{else/}文化产业板{/if}</div> |
|||
<div class="iconfont icon-fanhui backcolor"></div> |
|||
<div class="tabslastfont " onclick="window.history.go(-1);">上一页</div> |
|||
</div> |
|||
<div class="detailsdes modeub"> |
|||
<div class="ub ub-ver liastedimg " > |
|||
<div class="logobackimg liastedimg liastedimgimg"> |
|||
{notempty name="list.c_logo"} |
|||
<img src="{$list.c_logo}" title="{$list.c_name}"/> |
|||
{/notempty} |
|||
</div> |
|||
<div class="modeub modeac modepc expertsmt" > |
|||
<div class="detailesname modeub modeac modepc">{$list.c_name}</div> |
|||
</div> |
|||
</div> |
|||
|
|||
|
|||
<div class="modef1"> |
|||
{notempty name="list.c_logo"} |
|||
<p>{$list.c_content|htmlspecialchars_decode}</p> |
|||
{else /} |
|||
<p>{$list.c_content|htmlspecialchars_decode} </p> |
|||
{/notempty} |
|||
</div> |
|||
</div> |
|||
</div> |
|||
|
|||
</div> |
|||
</div> |
|||
</div> |
|||
{include file="public:footer"/} |
|||
{include file="public:scripts"/} |
|||
<script type="text/javascript" src="http://v3.jiathis.com/code/jia.js" charset="utf-8"></script> |
|||
<script type="text/javascript" > |
|||
var jiathis_config={ |
|||
summary:"", |
|||
shortUrl:false, |
|||
hideMore:false |
|||
} |
|||
function topfind() { |
|||
window.location.href='/home/listn/cult_list1.html'; |
|||
} |
|||
</script> |
|||
</body> |
|||
</html> |
|||
@ -0,0 +1,67 @@ |
|||
<!DOCTYPE html> |
|||
<!--[if IE 8]> <html class="ie ie8"> <![endif]--> |
|||
<!--[if IE 9]> <html class="ie ie9"> <![endif]--> |
|||
<!--[if gt IE 9]><!--> <html> <!--<![endif]--> |
|||
<head> |
|||
<meta charset="utf-8"> |
|||
<title>{$menu.menu_seo_title|default=$site_seo_title} {$site_name}</title> |
|||
<meta name="keywords" content="{$menu.menu_seo_key|default=$site_seo_keywords}" /> |
|||
<meta name="description" content="{$menu.menu_seo_des|default=$site_seo_description}"> |
|||
{include file="public:head" /} |
|||
</head> |
|||
<body class="home"> |
|||
{include file="public:nav" /} |
|||
<div class="wrap"> |
|||
|
|||
<div class="content"> |
|||
<div class="basictop" style="margin-top: 0; margin-bottom: 80px"> |
|||
<div class="" style="padding: 0 20px 20px 20px;"> |
|||
<div class="tabs modeub modeac"> |
|||
<div class="iconfont icon-home hometabs"></div> |
|||
<div class="tabstitle">挂牌企业</div> |
|||
<div class="marketsegment segment">/</div> |
|||
<div class="tabstitle tabslast modef1">国有项目</div> |
|||
<div class="iconfont icon-fanhui backcolor"></div> |
|||
<div class="tabslastfont " onclick="topfind()">上一页</div> |
|||
</div> |
|||
<div class="detailsdes modeub"> |
|||
<div class="ub ub-ver liastedimg "> |
|||
<div class="logobackimg liastedimg liastedimgimg"> |
|||
{notempty name="list.c_logo"} |
|||
<img src="{$list.c_logo}" title="{$list.c_name}"/> |
|||
{/notempty} |
|||
</div> |
|||
<div class="modeub modeac modepc expertsmt"> |
|||
<div class="detailesname modeub modeac modepc">{$list.c_name}</div> |
|||
</div> |
|||
</div> |
|||
|
|||
|
|||
<div class="modef1"> |
|||
{notempty name="list.c_logo"} |
|||
<p>{$list.c_content}</p> |
|||
{else /} |
|||
<p>{$list.c_content} </p> |
|||
{/notempty} |
|||
</div> |
|||
</div> |
|||
</div> |
|||
|
|||
</div> |
|||
</div> |
|||
</div> |
|||
{include file="public:footer"/} |
|||
{include file="public:scripts"/} |
|||
<script type="text/javascript" src="http://v3.jiathis.com/code/jia.js" charset="utf-8"></script> |
|||
<script type="text/javascript" > |
|||
var jiathis_config={ |
|||
summary:"", |
|||
shortUrl:false, |
|||
hideMore:false |
|||
} |
|||
function topfind() { |
|||
window.location.href='/#gyindex'; |
|||
} |
|||
</script> |
|||
</body> |
|||
</html> |
|||
@ -0,0 +1,132 @@ |
|||
<!DOCTYPE html> |
|||
<!--[if IE 8]> <html class="ie ie8"> <![endif]--> |
|||
<!--[if IE 9]> <html class="ie ie9"> <![endif]--> |
|||
<!--[if gt IE 9]><!--> <html> <!--<![endif]--> |
|||
<head> |
|||
<meta charset="utf-8"> |
|||
<title>{$menu.menu_seo_title|default=$site_seo_title} {$site_name}</title> |
|||
<meta name="keywords" content="{$menu.menu_seo_key|default=$site_seo_keywords}" /> |
|||
<meta name="description" content="{$menu.menu_seo_des|default=$site_seo_description}"> |
|||
{include file="public:head" /} |
|||
</head> |
|||
<body class="home"> |
|||
<div class="wrap"> |
|||
{include file="public:nav" /} |
|||
<div id="main-cmf"> |
|||
<div class="main-content top-back"></div> |
|||
<div class="main-content nav_i"> |
|||
<div class="container"> |
|||
<a href="{:url('home/Listn/index?id=3')}">文化四板</a><span> > {$list.type_name}</span> |
|||
<a href="{:url('home/Index/index')}" class="back pull-right">返回</a> |
|||
</div> |
|||
</div> |
|||
<div class="container about"> |
|||
<div class="col-md-3 hidden-xs hidden-sm"> |
|||
<div class="about_aside"> |
|||
<h3>文化四板</h3> |
|||
<ul> |
|||
<li class="{if condition="$cult_cid eq 1"}on{/if}"><a href="{:url('home/Listn/index',['id'=>17,'cid'=>1])}">文化四板</a></li> |
|||
{volist name="cults" id="vo"} |
|||
<li class="{if condition="$cult_cid eq $vo.type_id"}on{/if}"><a href="{:url('home/Listn/index',['id'=>16,'cid'=>$vo.type_id])}">{$vo.type_name}</a></li> |
|||
{/volist} |
|||
</ul> |
|||
<h3><a href="{:url('home/Listn/cult_list')}" class="guapai">文化四板挂牌企业</a></h3> |
|||
</div> |
|||
</div> |
|||
<div class="list-menu"> |
|||
<div class="mobile navbar-header"> |
|||
<a class="navbar-toggle" data-toggle="collapse" data-target=".menu2"> |
|||
<i class="fa fa-reorder icon-2x"></i> |
|||
</a> |
|||
</div> |
|||
<nav class="collapse navbar-collapse menu2"> |
|||
<div class="about_aside "> |
|||
<h3>文化四板</h3> |
|||
<ul> |
|||
<li class="{if condition="$cult_cid eq 1"}on{/if}"><a href="{:url('home/Listn/index',['id'=>17,'cid'=>1])}">文化四板</a></li> |
|||
{volist name="cults" id="vo"} |
|||
<li class="{if condition="$cult_cid eq $vo.type_id"}on{/if}"><a href="{:url('home/Listn/index',['id'=>16,'cid'=>$vo.type_id])}">{$vo.type_name}</a></li> |
|||
{/volist} |
|||
</ul> |
|||
<h3><a href="" class="guapai">文化四板挂牌企业</a></h3> |
|||
</div> |
|||
</nav> |
|||
</div> |
|||
<div class="col-sm-12 col-xs-12 col-md-9 culture"> |
|||
<div class="about_main"> |
|||
<div class="h2_title"> |
|||
<h2>{$list.type_name}</h2> |
|||
</div> |
|||
<div class="about_m_list"> |
|||
<div class="about_m_item"> |
|||
<div class="about_m_title"> |
|||
<span></span> |
|||
<p>定位</p> |
|||
</div> |
|||
<div class="about_m_txt"> |
|||
{$list.cu_dw} |
|||
</div> |
|||
</div> |
|||
<div class="about_m_item"> |
|||
<div class="about_m_title"> |
|||
<span></span> |
|||
<p>定义</p> |
|||
</div> |
|||
<div class="about_m_txt culture_txt2"> |
|||
<div class="about_m_txt"> |
|||
{$list.cu_dy} |
|||
</div> |
|||
</div> |
|||
</div> |
|||
<div class="about_m_item"> |
|||
<div class="about_m_title"> |
|||
<span></span> |
|||
<p>服务对象</p> |
|||
</div> |
|||
{volist name="lists" id="vo"} |
|||
<div class="about_m_txt culture_txt3"> |
|||
<div class="about_m_txt"> |
|||
<div class="row"> |
|||
{notempty name="vo.c_logo"} |
|||
<div class="col-xs-3 culture_txt3_img"> |
|||
<a href="{:url('home/News/cult',['c_id'=>$vo.c_id])}"><img src="{$vo.c_logo|get_imgurl}"></a> |
|||
</div> |
|||
<div class="col-xs-9 culture_txt3_m"> |
|||
<h3>{$vo.c_name}</h3> |
|||
<p>{$vo.c_desc}</p> |
|||
<a href="{:url('home/News/cult',['c_id'=>$vo.c_id])}">详细>></a> |
|||
</div> |
|||
{else /} |
|||
<div class="col-xs-12 culture_txt3_m"> |
|||
<h3>{$vo.c_name}</h3> |
|||
<p>{$vo.c_desc}</p> |
|||
<a href="{:url('home/News/cult',['c_id'=>$vo.c_id])}">详细>></a> |
|||
</div> |
|||
{/notempty} |
|||
<div class="clear"></div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
{/volist} |
|||
</div> |
|||
<div class="about_m_item"> |
|||
<div class="about_m_title"> |
|||
<span></span> |
|||
<p>服务内容</p> |
|||
</div> |
|||
<div class="about_m_txt culture_txt4"> |
|||
{$list.cu_fw} |
|||
</div> |
|||
</div> |
|||
</div> |
|||
<a class="l_entry need-gp" href="{:url('home/Listn/gp_check')}">我要挂牌</a> |
|||
</div> |
|||
</div> |
|||
|
|||
</div> |
|||
</div> |
|||
</div> |
|||
{include file="public:footer"/} |
|||
{include file="public:scripts"/} |
|||
</body> |
|||
</html> |
|||
@ -0,0 +1,148 @@ |
|||
<!DOCTYPE html> |
|||
<html> |
|||
<head> |
|||
<meta charset="utf-8"> |
|||
<title>{$menu.menu_seo_title|default=$site_seo_title} {$site_name}</title> |
|||
<meta name="keywords" content="{$menu.menu_seo_key|default=$site_seo_keywords}" /> |
|||
<meta name="description" content="{$menu.menu_seo_des|default=$site_seo_description}"> |
|||
{include file="public:head" /} |
|||
</head> |
|||
<body class="home"> |
|||
{include file="public:nav" /} |
|||
<div class="wrap" style="background-color: #FFFFFF"> |
|||
<!--banner开始--> |
|||
<div class="detailsbanner"></div> |
|||
<!--banner结束--> |
|||
<!--body开始--> |
|||
<div class="content modeub bodymb"> |
|||
<!--mode left开始--> |
|||
<div class="modeleft modeub modever modeac "> |
|||
<div class="modelefttop modeub modever modeac modepc"> |
|||
<div class="lefttutitle">挂牌企业</div> |
|||
<div class="leften">Listed companies</div> |
|||
</div> |
|||
<div class="modeleftmenu"> |
|||
<div class="leftmenu modeub modeac modepc modeleftmenuactive" onclick="whcyb()"> |
|||
<div class="modef1 jiesh">文化产业板</div> |
|||
<div class="icon-huiseweixuanzhong iconfont modekuai"></div> |
|||
</div> |
|||
<!-- <div class="leftmenu modeub modeac modepc " onclick="whcyb2()"> |
|||
<div class="modef1 jiesh">文化资产</div> |
|||
<div class="icon-huiseweixuanzhong iconfont modekuai"></div> |
|||
</div> |
|||
<div class="leftmenu modeub modeac modepc" onclick="whcyb3()"> |
|||
<div class="modef1 jiesh">非文化资产</div> |
|||
<div class="icon-huiseweixuanzhong iconfont modekuai" ></div> |
|||
</div>--> |
|||
|
|||
</div> |
|||
</div> |
|||
<!--mode left结束--> |
|||
<!--mode right开始--> |
|||
<div class="modef1 moderight"> |
|||
<div class="moderighttag modeub modeac"> |
|||
<div class="tagtitle">文化产业板</div> |
|||
<div class="tagline">/</div> |
|||
<div class="tagtitleen">Cultural Industry Board</div> |
|||
</div> |
|||
<div class="lastedmenu"> |
|||
<div class="modeub modeac"> |
|||
<div class="lastedtitle">选择行业:</div> |
|||
<div class="lastedtitlemenu lastedmenuactive" id="aa" onclick="typelist(this,'')">不限</div> |
|||
{volist name="hylb" id="vo"} |
|||
<div class="lastedtitlemenu " onclick="typelist(this,'{$vo.type_id}')">{$vo.type_name}</div> |
|||
{/volist} |
|||
</div> |
|||
</div> |
|||
<div class="lastedsearch modeub"> |
|||
<div class="modef1"> |
|||
<input type="text" id="projectName" name="keyword" class="modef1 lastedsearchinput" placeholder="请输入 公司名称或股票代码 进行搜索"> |
|||
</div> |
|||
<div class="lastedbutton modeub modeac modepc" id="shous">搜索</div><input type="hidden" id="hb"/> |
|||
</div> |
|||
<div class="policieslist lastedlist" id="name"> |
|||
{volist name="lists" id="vo"} |
|||
<div class="policiescon modeub modeac"> |
|||
<div class="logobackimg liastedimg " onclick="xq('{$vo.c_id}')" style="width: 25%;"> |
|||
<img src="{$vo.c_logo}" style="max-height: 130px;"> |
|||
</div> |
|||
<div class="modef1 policiescontitle" onclick="xq('{$vo.c_id}')">{$vo.c_name}</div> |
|||
<div class="textml policiescontime xiangxi" onclick="xq('{$vo.c_id}')">详细 》</div> |
|||
</div> |
|||
{/volist} |
|||
<div class="col-xs-12 text-center list-page">{$page}</div> |
|||
</div> |
|||
</div> |
|||
<!--mode right结束--> |
|||
</div> |
|||
<!--body结束--> |
|||
</div> |
|||
{include file="public:footer"/} |
|||
{include file="public:scripts"/} |
|||
</body> |
|||
<script type="text/javascript"> |
|||
$('#shous').click(function () { |
|||
var $keyword=$('#projectName').val(); |
|||
var hb=$('#hb').val(); |
|||
var $url="{:url('home/Listn/cult_list1')}"; |
|||
$.ajax({ |
|||
type:"POST", |
|||
url:$url, |
|||
data:'keyword='+$keyword+'&c_hylb='+hb, |
|||
success: function(data){ |
|||
if(data.code==1){ |
|||
$('#name').html(data.html); |
|||
} else { |
|||
layer.msg(data.msg,{icon: 5}); |
|||
} |
|||
} |
|||
}); |
|||
return false; |
|||
}); |
|||
|
|||
|
|||
function whcyb() { |
|||
window.location.href='/home/listn/cult_list1.html'; |
|||
} |
|||
function whcyb2() { |
|||
window.location.href='/home/listn/cult_list2.html'; |
|||
} |
|||
function whcyb3() { |
|||
window.location.href='/home/listn/cult_list3.html'; |
|||
} |
|||
function xq(id) { |
|||
window.location.href='../News/cult?c_id='+id+''; |
|||
} |
|||
|
|||
function typelist(a,t) { |
|||
$(a).addClass("lastedmenuactive").siblings().removeClass("lastedmenuactive"); |
|||
var $url="{:url('home/Listn/cult_list1')}"; |
|||
$.ajax({ |
|||
type:"POST", |
|||
url:$url, |
|||
data:'c_hylb='+t, |
|||
success: function(data){ |
|||
if(data.code==1){ |
|||
$("#hb").val(data.c_hylb); |
|||
$('#name').html(data.html); |
|||
} else { |
|||
layer.msg(data.msg,{icon: 5}); |
|||
} |
|||
} |
|||
}); |
|||
return false; |
|||
} |
|||
|
|||
function ajax_page_cult_list(page) { |
|||
var hb=$('#hb').val(); |
|||
var $keyword=$('#projectName').val(); |
|||
$.ajax({ |
|||
type:"POST", |
|||
data:'keyword='+$keyword+'&page='+page+'&c_hylb='+hb, |
|||
success: function(data,status){ |
|||
$("#name").html(data.html); |
|||
} |
|||
}); |
|||
} |
|||
</script> |
|||
</html> |
|||
@ -0,0 +1,68 @@ |
|||
<!DOCTYPE html> |
|||
<!--[if IE 8]> <html class="ie ie8"> <![endif]--> |
|||
<!--[if IE 9]> <html class="ie ie9"> <![endif]--> |
|||
<!--[if gt IE 9]><!--> <html> <!--<![endif]--> |
|||
<head> |
|||
<meta charset="utf-8"> |
|||
<title>{$menu.menu_seo_title|default=$site_seo_title} {$site_name}</title> |
|||
<meta name="keywords" content="{$menu.menu_seo_key|default=$site_seo_keywords}" /> |
|||
<meta name="description" content="{$menu.menu_seo_des|default=$site_seo_description}"> |
|||
{include file="public:head" /} |
|||
</head> |
|||
<body class="home"> |
|||
{include file="public:nav" /} |
|||
<div class="wrap"> |
|||
|
|||
<div class="content"> |
|||
<div class="basictop" style="margin-top: 0; margin-bottom: 80px"> |
|||
<div class="" style="padding: 0 20px 20px 20px;"> |
|||
<div class="tabs modeub modeac"> |
|||
<div class="iconfont icon-home hometabs"></div> |
|||
<div class="tabstitle">挂牌企业</div> |
|||
<div class="marketsegment segment">/</div> |
|||
<div class="tabstitle tabslast modef1">掌柜文化金服</div> |
|||
<div class="iconfont icon-fanhui backcolor"></div> |
|||
<div class="tabslastfont " onclick="topfind()">上一页</div> |
|||
</div> |
|||
{if condition="$count eq 1"} |
|||
<div class="detailsdes"> |
|||
<p>{$list.gg_museumunt}</p> |
|||
<p>{$list.gg_content}</p> |
|||
</div> |
|||
{elseif condition="$count eq 2"} |
|||
<div class="detailsdes"> |
|||
<p>{$list.sc_product_name}</p> |
|||
<p>{$list.sc_content}</p> |
|||
</div> |
|||
{elseif condition="$count eq 3"} |
|||
<div class="detailsdes"> |
|||
<p>{$list.yp_works_name}</p> |
|||
<p>{$list.yp_content}</p> |
|||
</div> |
|||
{elseif condition="$count eq 4"} |
|||
<div class="detailsdes"> |
|||
<p>{$list.ysth_product_name}</p> |
|||
<p>{$list.ysth_content}</p> |
|||
</div> |
|||
{/if} |
|||
|
|||
</div> |
|||
|
|||
</div> |
|||
</div> |
|||
</div> |
|||
{include file="public:footer"/} |
|||
{include file="public:scripts"/} |
|||
<script type="text/javascript" src="http://v3.jiathis.com/code/jia.js" charset="utf-8"></script> |
|||
<script type="text/javascript" > |
|||
var jiathis_config={ |
|||
summary:"", |
|||
shortUrl:false, |
|||
hideMore:false |
|||
} |
|||
function topfind() { |
|||
window.history.go(-1); |
|||
} |
|||
</script> |
|||
</body> |
|||
</html> |
|||
@ -0,0 +1,61 @@ |
|||
<!DOCTYPE html> |
|||
<html> |
|||
<head> |
|||
<meta charset="utf-8"> |
|||
<title>{$site_seo_title} {$site_name}</title> |
|||
<meta name="keywords" content="{$site_seo_keywords}" /> |
|||
<meta name="description" content="{$site_seo_description}"> |
|||
{include file="public:head" /} |
|||
<link rel="stylesheet" href="{$yf_theme_path}public/css/jplayer.css"> |
|||
</head> |
|||
<body class="home"> |
|||
<div class="wrap"> |
|||
|
|||
|
|||
<!--logo结束--> |
|||
{include file="public:nav" /} |
|||
<!--banner开始--> |
|||
<div class="detailsbanner"></div> |
|||
<!--banner结束--> |
|||
<!--tabs开始--> |
|||
<div class="content"> |
|||
<div class="basictop" style="margin-top: 0; margin-bottom: 80px"> |
|||
<div class="" style="padding: 0 20px 20px 20px;"> |
|||
<div class="tabs modeub modeac"> |
|||
<div class="iconfont icon-home hometabs"></div> |
|||
<div class="tabstitle">首页</div> |
|||
<div class="marketsegment segment">/</div> |
|||
<div class="tabstitle tabslast modef1">{$name}</div> |
|||
<div class="iconfont icon-fanhui backcolor"></div> |
|||
<div class="tabslastfont " onclick="index()">上一页</div> |
|||
</div> |
|||
<div class="detailsdes"> |
|||
<p>{$list.whcyb_content}</p> |
|||
</div> |
|||
</div> |
|||
|
|||
</div> |
|||
|
|||
|
|||
|
|||
</div> |
|||
<!--tabs结束--> |
|||
|
|||
|
|||
</div> |
|||
<{include file="public:footer"/} |
|||
{include file="public:scripts"/} |
|||
</body> |
|||
<script type="text/javascript" src="http://v3.jiathis.com/code/jia.js" charset="utf-8"></script> |
|||
<script type="text/javascript" > |
|||
var jiathis_config={ |
|||
summary:"", |
|||
shortUrl:false, |
|||
hideMore:false |
|||
} |
|||
|
|||
function index() { |
|||
window.location.href='/#yzxmk'; |
|||
} |
|||
</script> |
|||
</html> |
|||
@ -0,0 +1,62 @@ |
|||
<!DOCTYPE html> |
|||
<html> |
|||
<head> |
|||
<meta charset="utf-8"> |
|||
<title>{$site_seo_title} {$site_name}</title> |
|||
<meta name="keywords" content="{$site_seo_keywords}" /> |
|||
<meta name="description" content="{$site_seo_description}"> |
|||
{include file="public:head" /} |
|||
<link rel="stylesheet" href="{$yf_theme_path}public/css/jplayer.css"> |
|||
</head> |
|||
<body class="home"> |
|||
<div class="wrap"> |
|||
|
|||
|
|||
<!--logo结束--> |
|||
{include file="public:nav" /} |
|||
<!--banner开始--> |
|||
<div class="detailsbanner"></div> |
|||
<!--banner结束--> |
|||
<!--tabs开始--> |
|||
<div class="content"> |
|||
<div class="basictop" style="margin-top: 0; margin-bottom: 80px"> |
|||
<div class="" style="padding: 0 20px 20px 20px;"> |
|||
<div class="tabs modeub modeac"> |
|||
<div class="iconfont icon-home hometabs"></div> |
|||
<div class="tabstitle">楼层</div> |
|||
<div class="marketsegment segment">/</div> |
|||
<div class="tabstitle tabslast modef1">国有业务</div> |
|||
<div class="iconfont icon-fanhui backcolor"></div> |
|||
<div class="tabslastfont " onclick="index()">上一页</div> |
|||
</div> |
|||
|
|||
<div class="detailsdes"> |
|||
<p>{$list.gyxm_content}</p> |
|||
</div> |
|||
</div> |
|||
|
|||
</div> |
|||
|
|||
|
|||
|
|||
</div> |
|||
<!--tabs结束--> |
|||
|
|||
|
|||
</div> |
|||
<{include file="public:footer"/} |
|||
{include file="public:scripts"/} |
|||
</body> |
|||
<script type="text/javascript" src="http://v3.jiathis.com/code/jia.js" charset="utf-8"></script> |
|||
<script type="text/javascript" > |
|||
var jiathis_config={ |
|||
summary:"", |
|||
shortUrl:false, |
|||
hideMore:false |
|||
} |
|||
|
|||
function index() { |
|||
window.location.href='/'; |
|||
} |
|||
</script> |
|||
</html> |
|||
File diff suppressed because one or more lines are too long
@ -0,0 +1,33 @@ |
|||
$(function(){ |
|||
$('#return-top').hide(); |
|||
$(function(){ |
|||
$(window).scroll(function(){ |
|||
if($(window).scrollTop()>10){ |
|||
$('#return-top').fadeIn(300); |
|||
}else{ |
|||
$('#return-top').fadeOut(200); |
|||
} |
|||
}); |
|||
$('#return-top').click(function(){ |
|||
$('body,html').animate({scrollTop:0},300); |
|||
return false; |
|||
|
|||
}) |
|||
|
|||
}) |
|||
/* |
|||
//获取要定位元素距离浏览器顶部的距离
|
|||
var navH = $(".nav").offset().top; |
|||
//滚动条事件
|
|||
$(window).scroll(function(){ |
|||
//获取滚动条的滑动距离
|
|||
var scroH = $(this).scrollTop(); |
|||
//滚动条的滑动距离大于等于定位元素距离浏览器顶部的距离,就固定,反之就不固定
|
|||
if(scroH>=navH){ |
|||
$(".nav").css({"position":"fixed","top":0,"left":"0","margin-left":"0","right": 0,"z-index": 99999}); |
|||
}else if(scroH<navH){ |
|||
$(".nav").css({"position":"static","margin":"0 auto"}); |
|||
} |
|||
}) |
|||
*/ |
|||
}) |
|||
File diff suppressed because it is too large
@ -0,0 +1,43 @@ |
|||
function getBrowser() { |
|||
var ua = window.navigator.userAgent; |
|||
var isIE = window.ActiveXObject != undefined && ua.indexOf("MSIE") != -1; |
|||
var isFirefox = ua.indexOf("Firefox") != -1; |
|||
var isOpera = window.opr != undefined; |
|||
var isChrome = ua.indexOf("Chrome") && window.chrome; |
|||
var isSafari = ua.indexOf("Safari") != -1 && ua.indexOf("Version") != -1; |
|||
if (isIE) { |
|||
return "IE"; |
|||
} else if (isFirefox) { |
|||
return "Firefox"; |
|||
} else if (isOpera) { |
|||
return "Opera"; |
|||
} else if (isChrome) { |
|||
return "Chrome"; |
|||
} else if (isSafari) { |
|||
return "Safari"; |
|||
} else { |
|||
return "Unkown"; |
|||
} |
|||
} |
|||
|
|||
var linkNode = document.createElement("link"); |
|||
linkNode.setAttribute("rel","stylesheet"); |
|||
linkNode.setAttribute("type","text/css"); |
|||
|
|||
|
|||
if(getBrowser()=="IE"){ |
|||
linkNode.setAttribute("href","/app/home/view/szwjs/public/css/ie.css"); |
|||
|
|||
}else if(getBrowser()=="Firefox"){ |
|||
|
|||
}else if(getBrowser()=="Opera"){ |
|||
|
|||
}else if(getBrowser()=="Chrome"){ |
|||
|
|||
}else if(getBrowser()=="Safari"){ |
|||
|
|||
}else if(getBrowser()=="Unkown"){ |
|||
linkNode.setAttribute("href","/app/home/view/szwjs/public/css/ie.css"); |
|||
} |
|||
document.head.appendChild(linkNode); |
|||
|
|||
@ -0,0 +1,30 @@ |
|||
var BSHARE_SHOST_NAME="https://static.bshare.cn",BSHARE_BUTTON_HOST="https://bshare.optimix.cn",BSHARE_WEB_HOST="https://www.bshare.cn";(function(e,g){if(!e.bShareUtil||!e.bShareControl){var l=g.documentElement,d=navigator;e.BUZZ={};e.bShareControl={count:0,viewed:!1,bShareLoad:!1,clicked:!1};var h=e.bShareUtil={requestedScripts:[],encode:encodeURIComponent,isIe6:/msie|MSIE 6/.test(d.userAgent),isIe7:/MSIE 7/.test(d.userAgent),isIe8:/MSIE 8/.test(d.userAgent),isIe9:/MSIE 9/.test(d.userAgent),isIe:/Microsoft Internet Explorer/.test(d.appName),isSt:g.compatMode=="CSS1Compat",isQk:function(){return h.isIe6||h.isIe&&!h.isSt},eleInViewport:function(a){if(a.getBoundingClientRect)return a= |
|||
a.getBoundingClientRect(),a.top>=0&&a.left>=0&&a.bottom<=(e.innerHeight||l.clientHeight)&&a.right<=(e.innerWidth||l.clientWidth);for(var b=a.offsetTop,c=a.offsetLeft,f=a.offsetWidth,k=a.offsetHeight;a.offsetParent;)a=a.offsetParent,b+=a.offsetTop,c+=a.offsetLeft;return b>=e.pageYOffset&&c>=e.pageXOffset&&b+k<=e.pageYOffset+e.innerHeight&&c+f<=e.pageXOffset+e.innerWidth},getElemById:function(a){return g.getElementById(a)},createElement:function(a,b,c,f,k){a=g.createElement(a);if(b)a.id=b;if(c)a.className= |
|||
c;if(f)a.style.cssText=f;if(k)a.innerHTML=k;return a},formatParam:function(a,b){return typeof a=="number"?+b:typeof a=="boolean"?/^true$/i.test(b):b},isUndefined:function(a){return typeof a=="undefined"},arrayContains:function(a,b,c){for(var f=a.length;f--;)if(!h.isUndefined(b)&&a[f]===b||!h.isUndefined(c)&&c.test(a[f]))return!0;return!1},loadScript:function(a,b){var c=h.requestedScripts;if(!h.arrayContains(c,a))/(bsMore|bshareS887)(Org)?\.js/.test(a)&&c.push(a),b=b||function(){},c=h.createElement("script"), |
|||
c.src=a,c.type="text/javascript",c.charset="utf-8",c.onload=b,c.onreadystatechange=function(){/complete|loaded/.test(this.readyState)&&b()},g.getElementsByTagName("head")[0].appendChild(c)},loadStyle:function(a){var b=h.createElement("style");b.type="text/css";b.styleSheet?b.styleSheet.cssText=a:b.appendChild(g.createTextNode(a));g.getElementsByTagName("head")[0].appendChild(b)},getOffset:function(a){for(var b={x:a.offsetLeft,y:a.offsetTop,h:a.offsetHeight,w:a.offsetWidth};a=a.offsetParent;b.x+=a.offsetLeft, |
|||
b.y+=a.offsetTop);return b},getElem:function(a,b,c,f){for(var a=a.getElementsByTagName(b),b=[],k=0,d=0,e=a.length;k<e;k++){var g=a[k];if(!c||g.className.indexOf(c)!=-1)b.push(g),typeof f=="function"&&f(g,d++)}return b},getText:function(a){return h.isIe?a.innerText:a.textContent},insertAfter:function(a,b){var c=b.parentNode;c.lastChild===b?c.appendChild(a):c.insertBefore(a,b.nextSibling)},getWH:function(){return{h:(h.isSt?l:g.body).clientHeight,w:(h.isSt?l:g.body).clientWidth}},stopProp:function(a){a= |
|||
a||e.event||{};a.stopPropagation?a.stopPropagation():a.cancelBubble=!0},getScript:function(a){for(var b=g.getElementsByTagName("script"),c=[],f=0,k=b.length;f<k;f++){var d=b[f].src;d&&d.search(a)>=0&&/bshare.(cn|com|me)|static.(local|dev)/i.test(d)&&c.push(b[f])}return c},parseOptions:function(a,b){var c={};if(a=/\?(.*)|#(.*)/.exec(a))for(var a=a[0].slice(1).replace("+"," "),f=a.split(/[&;]/g),k=0,d=f.length;k<d;k++){var e=f[k].split("="),g=decodeURIComponent(e[0]),h=b?e[1]:null;if(!b)try{h=decodeURIComponent(e[1])}catch(l){}c[g]= |
|||
h}return c},submitForm:function(a,b,c,f){var f=f||"post",k=h.createElement("form");g.body.appendChild(k);k.method=f;k.target=c;k.setAttribute("accept-charset","utf-8");k.action=a;for(var d in b)if(typeof b[d]!="function")a=h.createElement("input"),a.type="hidden",a.name=d,a.value=b[d],k.appendChild(a);if(h.isIe)g.charset="utf-8";k.submit();g.body.removeChild(k)},replaceParam:function(a,b,c){return b?c.replace(a,h.encode(b)):c.replace(a,"")},ready:function(a){if(g.addEventListener)g.addEventListener("DOMContentLoaded", |
|||
function(){g.removeEventListener("DOMContentLoaded",arguments.callee,!1);a.call()},!1),e.addEventListener("load",a,!1);else if(g.attachEvent){g.attachEvent("onreadystatechange",function(){g.readyState=="complete"&&(g.detachEvent("onreadystatechange",arguments.callee),a.call())});e.attachEvent("onload",a);var b=!1;try{b=e.frameElement===null}catch(c){}l.doScroll&&b&&function(){try{l.doScroll("left")}catch(b){setTimeout(arguments.callee,10);return}a.call()}()}else e.onload=a},createBuzzObject:function(a, |
|||
b){if(e[a])return e[a];b.namespace=a;var c=e[a]={shost:e.BSHARE_SHOST_NAME,bhost:e.BSHARE_BUTTON_HOST,whost:e.BSHARE_WEB_HOST,defaultConfig:b,params:{type:0,publisherUuid:"",url:"",title:"",summary:"",content:"",pic:"",pics:"",video:"",vTag:"",vUid:"",vEmail:"",product:"",price:"0",brand:"",tag:"",category:"",template:"1",popcss:"",apvuid:"",apts:"",apsign:""},isReady:!1,completed:!1,curb:0,preb:-1,entries:[],counters:[],viewInfo:null};c.config={};c.elems={powerBy:'<div id="bsPower" style="float:right;text-align:right;overflow:hidden;height:100%;"><a class="bsSiteLink" style="font-size:10px;vertical-align:text-bottom;line-height:24px;cursor:pointer;" href="'+ |
|||
c.whost+'" target="_blank"><span style="font-size:10px;vertical-align:text-bottom;"><span style="color:#f60;">b</span>Share</span></a></div>'};for(var f in c.defaultConfig)c.config[f]=c.defaultConfig[f];c.imageBasePath=c.shost+"/frame/images/";c.jsBasePath=c.shost+"/b/";c.addEntry=function(a){if(typeof c.counters=="number")c.counters=[];c.entries.push(a);c.counters.push(0)};return e[a]},parseBuzzOptions:function(a,b,c,f,k){var i;i=(a=h.getScript(b)[a])?h.parseOptions(a.src):{},a=i;k&&(a=k(a));for(var d in a)if(!h.isUndefined(a[d])&& |
|||
!(a[d]===null||typeof c[d]=="number"&&a[d]===""))h.isUndefined(c[d])?h.isUndefined(f[d])||(f[d]=h.formatParam(f[d],a[d])):c[d]=h.formatParam(c[d],a[d])}}}})(window,document);(function(e,g,l){var d=g.bShareUtil,h=g.bShareControl;if(!(h.count>0)){var a=d.createBuzzObject(e,{lang:"zh",height:0,width:0,image:"",bgc:"none",fgc:"#333",poptxtc:"#666",popbgc:"#f2f2f2",sn:!1,logo:!0,style:1,fs:0,inline:!1,beta:!1,popjs:"",popHCol:2,pop:0,mdiv:0,poph:"auto",bps:"",bps2:"",showShareCount:!0,icon:!0,text:null,promote:!1}),b=a.config,c=a.params;a.boxConfig={position:0,boxHeight:408,boxWidth:548,closeTop:8,closeRight:20,hasTop:!0,hasFrame:!0,hasMore:!0};a.boxConfigEC={position:0,boxHeight:404, |
|||
boxWidth:650,closeTop:10,closeRight:16,hasFrame:!0};a.boxConfigWX={id:"bsWXBox",position:0,boxHeight:245,boxWidth:220,closeTop:8,closeRight:20,hasTop:!0};a.customization={};a.loadOptions=function(){d.parseBuzzOptions(0,/button(Lite)?(Org)?\.js|bshare_load/,b,c,function(b){if(!d.isUndefined(g.bShareOpt))for(var c in g.bShareOpt)b[c]=g.bShareOpt[c];if(!d.arrayContains(a.langs,b.lang))b.lang="zh";if(b.h&&b.w&&b.img)b.height=b.h,b.width=b.w,b.image=b.img;b.bgc=b.bgcolor||void 0;b.fgc=b.textcolor||void 0; |
|||
b.logo=!(b.logo&&/^false$/i.test(b.logo));b.popHCol=b.pophcol||void 0;if(b.style)b.style=/^(-1|0|1|2|3|4|5|10|11|999)$/.test(b.style)?+b.style:void 0;if(b.bp)b.style&&b.style==2?b.bps2=b.bp.split(","):b.bps=b.bp.split(",");b.showShareCount=b.style&&/3|4|5/.test(b.style)?!1:!(b.ssc&&/^false$/i.test(b.ssc.toString()));b.type=g.BSHARE_BUTTON_TYPE||b.type;b.publisherUuid=b.uuid||void 0;return b});for(var f in a.defaultConfig)a.defaultConfig[f]!==b[f]&&(a.customization[f]=b[f]);if(c.type!=15)c.popcss= |
|||
"";if(g.location.href.indexOf(a.whost+"/moreStyles")<0)b.promote=!1};a.writeButton=function(){var c="",e={0:0,1:[110,85],10:[90,51],11:[82,82]},g={0:16,1:24,10:21,11:49},h=a.imageBasePath,i=b.style,m=b.image,o=b.showShareCount,n=b.width,p=b.height;/^(3|4|5)$/.test(i)||(c='<div class="bsPromo bsPromo1"></div>');i>1&&i<6?a.writeBshareDiv(c):i==-1?(d.getElem(l,"div","bshare-custom",function(b){if(!b.childNodes[0].className||b.childNodes[0].className.indexOf("bsPromo")<0){var c=d.createElement("div", |
|||
"","bsPromo bsPromo"+(a.isLite?2:1));b.insertBefore(c,b.childNodes[0])}}),(b.beta||b.popjs)&&a.writeBshareDiv('<div class="buzzButton">'+b.text+"</div>","")):i>=0&&(i!=999&&(m=h+"logo_square_s.gif",i!=0&&(m=h+"button_custom"+i+"-"+(b.lang=="en"?"en":"zh"),o&&(m+="-c"),i==10&&(n=/Blue|Red|Green|Grey|Orange/.test(b.bgc)?b.bgc:"Orange",m+="-"+n),m+=".gif"),n=e[i][o?0:1],p=g[i]),c+='<div class="buzzButton bsStyle'+i+'" style="height:'+p+"px;color:"+b.fgc+";",i==0?(c+=b.icon?"background:transparent url("+ |
|||
m+") no-repeat;":"",c+='float:left"><div style="padding:0 4px 0 '+(b.icon?"21px":"0")+";"+(a.isLite?"height:16px;":"")+'"><span class="bshareText" style="line-height:18px;float:left;">'+(b.text===null?"\u5206\u4eab":b.text)+"</span></div></div>",o&&(c+='<div style="background:transparent url('+h+'counter_box.gif) no-repeat;float:left;width:40px;height:16px;text-align:center;font-weight:bold;"> <span style="position:relative;line-height:16px;" class="shareCount"></span></div>')):(c+=";background:transparent url("+ |
|||
m+") no-repeat;text-align:center;width:"+n+'px;">',o&&i!=999&&(c+='<span style="font-weight:bold;position:relative;line-height:'+(i==10?"22":"25")+'px;" class="shareCount"></span>'),c+="</div>"),c+='<div style="clear:both;"></div>',a.writeBshareDiv(c,"font-size:12px;height:"+p+"px;width:"+n+"px;"))};a.more=function(){return typeof a.moreDiv=="function"?(a.moreDiv(),!0):!1};a.load=function(f){if(!f){if(b.mdiv<0)return;var e=0,q=setInterval(function(){a.more()||e>=30?clearInterval(q):++e},100);return!1}c.target= |
|||
f||"";a.click();a.disappear();a.prepare();if(!a.loadPlus||!a.loadPlus()){var j;if(f=="bsharesync")j=[a.whost,"/bsyncShare?site=",f].join(""),a.updateCounter(),a.shareStats(f),d.submitForm(j,c,"_blank");else if(f=="email")j=[a.bhost,"/bshareEmail"].join(""),a.shareStats(f),d.submitForm(j,c,"_blank");else if(f=="clipboard")d.copy2Clipboard(),a.shareStats(f);else if(f=="favorite")d.add2Bookmark(),a.shareStats(f);else if(f=="printer")d.add2Printer(),a.shareStats(f);else if(f=="weixin"){j=a.bhost+"/barCode?site=weixin"; |
|||
for(var i in c)!/content|target/.test(i)&&typeof c[i]!="function"&&(j+="&"+i+"="+d.encode(c[i]));l.getElementById("bsWXBox")||a.createBox(a.boxConfigWX);a.getFrame(a.boxConfigWX).innerHTML='<img style="width:178px;height:178px;margin:21px;display:inline-block;" src="'+j+'" />';a.display(!1,a.boxConfigWX)}else{if(h.bShareLoad)for(i in j=a.bhost+"/bshare_redirect?site="+f,c)!/content|target/.test(i)&&typeof c[i]!="function"&&(j+="&"+i+"="+d.encode(c[i]));else(j=g.BS_PURL_MAP[f])||alert(a.iL8n.loadFailed), |
|||
f=="gmw"?j=d.replaceParam("${URL}",c.url.replace("https://",""),j):c.url&&(j=d.replaceParam("${URL}",c.url,j)),j=d.replaceParam("${TITLE}",c.title,j),j=d.replaceParam("${CONTENT}",c.summary,j),j=d.replaceParam("${IMG}",c.pic,j),j=d.replaceParam("${VIDEO}",c.video,j);g.open(j,"","height=600,width=800,top=100,left=100,screenX=100,screenY=100,scrollbars=yes,resizable=yes")}}};a.show=function(){a.load()};a.onLoad=function(){d.getElem(l,"a","bshareDiv",function(b,c){d.getElem(b,"div","buzzButton",function(b){b.onclick= |
|||
function(b){return function(c){a.more(c,b);return!1}}(c)})});var c=b.showShareCount;if(b.style==0){var e=d.getElem(l,"div","buzzButton")[0].offsetWidth;c&&(e+=41);d.getElem(l,"a","bshareDiv",function(a){a.style.width=e+"px"})}var h=a.entries.length;if(c&&h>0){for(var c="",j=0;j<h;j++){var i=a.entries[j];if(typeof i.url=="string"){if(d.isIe&&c.length+i.url.length>2E3)break;c!=""&&(c+="|");c+=i.url}}c!=""&&(c+="|");c+=g.location.href;a.count(c)}};a.renderButton=function(){d.loadStyle("a.bshareDiv,#bsPanel,#bsMorePanel,#bshareF{border:none;background:none;padding:0;margin:0;font:12px Helvetica,Calibri,Tahoma,Arial,\u5b8b\u4f53,sans-serif;line-height:14px;}#bsPanel div,#bsMorePanel div,#bshareF div{display:block;}.bsRlogo .bsPopupAwd,.bsRlogoSel .bsPopupAwd,.bsLogo .bsPopupAwd,.bsLogoSel .bsPopupAwd{line-height:16px !important;}a.bshareDiv div,#bsFloatTab div{*display:inline;zoom:1;display:inline-block;}a.bshareDiv img,a.bshareDiv div,a.bshareDiv span,a.bshareDiv a,#bshareF table,#bshareF tr,#bshareF td{text-decoration:none;background:none;margin:0;padding:0;border:none;line-height:1.2}a.bshareDiv span{display:inline;float:none;}div.buzzButton{cursor:pointer;font-weight:bold;}.buzzButton .shareCount a{color:#333}.bsStyle1 .shareCount a{color:#fff}span.bshareText{white-space:nowrap;}span.bshareText:hover{text-decoration:underline;}a.bshareDiv .bsPromo,div.bshare-custom .bsPromo{display:none;position:absolute;z-index:100;}a.bshareDiv .bsPromo.bsPromo1,div.bshare-custom .bsPromo.bsPromo1{width:51px;height:18px;top:-18px;left:0;line-height:16px;font-size:12px !important;font-weight:normal !important;color:#fff;text-align:center;background:url("+ |
|||
a.imageBasePath+"bshare_box_sprite2.gif) no-repeat 0 -606px;}div.bshare-custom .bsPromo.bsPromo2{background:url("+a.imageBasePath+"bshare_promo_sprite.gif) no-repeat;cursor:pointer;}");a.writeButton();c.type==15&&a.filterECPlats()};a.loadButtonStyle=function(){if(c.type!=15){var f,e=b.style;if(b.beta)f=a.jsBasePath+"styles/bshareS888.js?v=20150603";else if(b.popjs)f=b.popjs;else if(b.style!=-1&&(f=a.jsBasePath+"styles/bshareS"+(e>1&&e<6?e:1)+".js?v=20150603",b.pop==-1&&(e<=1||e>=6)))f="";f&&d.loadScript(f)}};a.international= |
|||
function(c){b.lang=="zh"?c():d.loadScript(a.jsBasePath+"langs/bs-lang-"+b.lang+".js?v=20150603",c)};a.start=function(){d.loadEngine&&(d.loadEngine(e),a.loadOptions(),a.international(function(){if(!a.completed){if(d.isUndefined(b.text)||b.text===null)b.text=b.style==0?a.iL8n.shareTextShort:a.iL8n.shareText;c.type!=1&&a.renderButton();d.createShareBox(e);if(c.type==15)a.boxConfig=a.boxConfigEC;a.createBox();b.mdiv>=0&&c.type!=15&&d.loadScript(a.jsBasePath+"components/bsMore.js?v=20150603");if(c.type==1)return a.load(), |
|||
!1;a.loadButtonStyle();a.onLoad();a.prepare(0);setTimeout(function(){h.viewed||a.view();setTimeout(function(){h.bShareLoad||d.loadScript(a.jsBasePath+"components/bsPlatforms.js?v=20150603")},3E3)},3E3);a.completed=!0}}))};a.init=function(){if(!a.isReady)a.isReady=!0,d.loadScript(a.jsBasePath+"engines/bs-engine.js?v=20150603",a.start)};d.loadScript(a.jsBasePath+"components/bsStatic.js?v=20150603")}})("bShare",window,document);(function(e,g,l){if(!(g.bShareControl.count>0)){g.bShareControl.count+=1;var d=g.bShareUtil,e=g[e],h=e.config;e.isLite=!0;e.customization.type="lite";e.writeBshareDiv=function(a,b){d.getElem(l,"a","bshareDiv",function(c){if(a)c.innerHTML=a;else if(c.innerHTML.length<24)c.innerHTML="";c.onclick=function(){return!1};c.style.cssText=(h.inline?"":"display:block;")+"text-decoration:none;padding:0;margin:0;"+b||""})};d.ready(e.init)}})("bShare",window,document);(function(){var e=window.bShare;if(!e)e=window.bShare={};e.pnMap={115:["115\u6536\u85cf\u5939",0],"139mail":["139\u90ae\u7bb1",2],"9dian":["\u8c46\u74e39\u70b9",6],baiducang:["\u767e\u5ea6\u641c\u85cf",7],baiduhi:["\u767e\u5ea6\u7a7a\u95f4",8],bgoogle:["Google\u4e66\u7b7e",10],bsharesync:["\u4e00\u952e\u901a",16],caimi:["\u8d22\u8ff7",17],cfol:["\u4e2d\u91d1\u5fae\u535a",18],chouti:["\u62bd\u5c49",20],clipboard:["\u590d\u5236\u7f51\u5740",21],cyolbbs:["\u4e2d\u9752\u8bba\u575b",22],cyzone:["\u521b\u4e1a\u5427",23],delicious:["\u7f8e\u5473\u4e66\u7b7e",24],dig24:["\u9012\u5ba2\u7f51",25],digg:["Digg",26],diglog:["\u5947\u5ba2\u53d1\u73b0",27],diigo:["Diigo",29],douban:["\u8c46\u74e3\u7f51",30],dream:["\u68a6\u5e7b\u4eba\u751f",31],duitang:["\u5806\u7cd6",32],eastdaymb:["\u4e1c\u65b9\u5fae\u535a",33],email:["\u7535\u5b50\u90ae\u4ef6", |
|||
34],evernote:["Evernote",35],facebook:["Facebook",36],fanfou:["\u996d\u5426",37],favorite:["\u6536\u85cf\u5939",38],feixin:["\u98de\u4fe1",39],friendfeed:["FriendFeed",40],fwisp:["Fwisp",42],ganniu:["\u8d76\u725b\u5fae\u535a",43],gmail:["Gmail",44],gmw:["\u5149\u660e\u7f51",45],gtranslate:["\u8c37\u6b4c\u7ffb\u8bd1",46],hemidemi:["\u9ed1\u7c73\u4e66\u7b7e",47],hexunmb:["\u548c\u8baf\u5fae\u535a",48],huaban:["\u82b1\u74e3",49],ifengkb:["\u51e4\u51f0\u5feb\u535a",50],ifengmb:["\u51e4\u51f0\u5fae\u535a",51],ifensi:["\u7c89\u4e1d\u7f51",52],instapaper:["Instapaper",53],itieba:["i\u8d34\u5427",54],joinwish:["\u597d\u613f\u7f51",55],kaixin001:["\u5f00\u5fc3\u7f51",56],laodao:["\u5520\u53e8\u7f51",57],leihou:["\u96f7\u7334",58],leshou:["\u4e50\u6536",59],linkedin:["LinkedIn", |
|||
60],livespace:["MS Livespace",61],mala:["\u9ebb\u8fa3\u5fae\u535a",63],masar:["\u739b\u6492\u7f51",65],meilishuo:["\u7f8e\u4e3d\u8bf4",66],miliao:["\u7c73\u804a",67],mister_wong:["Mister Wong",68],mogujie:["\u8611\u83c7\u8857",69],moptk:["\u732b\u6251\u63a8\u5ba2",70],msn:["MSN",71],myshare:["MyShare",72],myspace:["MySpace",73],neteasemb:["\u7f51\u6613\u5fae\u535a",74],netvibes:["Netvibes",75],peoplemb:["\u4eba\u6c11\u5fae\u535a",76],pinterest:["Pinterest",79],poco:["Poco\u7f51",81],printer:["\u6253\u5370",82],printf:["Print Friendly",83],qqmb:["\u817e\u8baf\u5fae\u535a",84],qqshuqian:["QQ\u4e66\u7b7e",85],qqxiaoyou:["\u670b\u53cb\u7f51",86],qzone:["QQ\u7a7a\u95f4",87],readitlater:["ReadItLater",88], |
|||
reddit:["Reddit",89],redmb:["\u7ea2\u5fae\u535a",90],renjian:["\u4eba\u95f4\u7f51",91],renmaiku:["\u4eba\u8109\u5e93",92],renren:["\u4eba\u4eba\u7f51",93],shouji:["\u624b\u673a",95],sinaminiblog:["\u65b0\u6d6a\u5fae\u535a",96],sinaqing:["\u65b0\u6d6aQing",97],sinavivi:["\u65b0\u6d6aVivi",98],sohubai:["\u641c\u72d0\u767d\u793e\u4f1a",99],sohuminiblog:["\u641c\u72d0\u5fae\u535a",100],southmb:["\u5357\u65b9\u5fae\u535a",101],stumbleupon:["StumbleUpon",102],szone:["\u5b88\u682a\u7f51",103],taojianghu:["\u6dd8\u6c5f\u6e56",104],tianya:["\u5929\u6daf",105],tongxue:["\u540c\u5b66\u5fae\u535a",106],tuita:["\u63a8\u4ed6",107],tumblr:["Tumblr",108],twitter:["Twitter",109],ushi:["\u4f18\u58eb\u7f51",110],waakee:["\u6316\u5ba2",112],wealink:["\u82e5\u90bb\u7f51",113],woshao:["\u6211\u70e7\u7f51",115],xianguo:["\u9c9c\u679c\u7f51", |
|||
116],xiaomeisns:["\u6821\u5a92\u91c7\u901a",117],xinminmb:["\u65b0\u6c11\u5fae\u535a",118],xyweibo:["\u5fae\u535a\u6821\u56ed",119],yaolanmb:["\u6447\u7bee\u5fae\u535a",120],yijee:["\u6613\u96c6\u7f51",121],youdao:["\u6709\u9053\u4e66\u7b7e",122],zjol:["\u6d59\u6c5f\u5fae\u535a",124],xinhuamb:["\u65b0\u534e\u5fae\u535a"],szmb:["\u6df1\u5733\u5fae\u535a"],changshamb:["\u5fae\u957f\u6c99"],hefeimb:["\u5408\u80a5\u5fae\u535a"],wansha:["\u73a9\u5565e\u65cf"],"189share":["\u624b\u673a\u5feb\u4f20"],diandian:["\u70b9\u70b9\u7f51"],tianji:["\u5929\u9645\u7f51"],jipin:["\u5f00\u5fc3\u96c6\u54c1"],chezhumb:["\u8f66\u4e3b\u5fae\u535a"],gplus:["Google+"],yidongweibo:["\u79fb\u52a8\u5fae\u535a"],youdaonote:["\u6709\u9053\u7b14\u8bb0"],jschina:["\u5fae\u6c5f\u82cf"],mingdao:["\u660e\u9053"],jxcn:["\u6c5f\u897f\u5fae\u535a"],qileke:["\u5947\u4e50\u6536\u85cf"],sohukan:["\u641c\u72d0\u968f\u8eab\u770b"],maikunote:["\u9ea6\u5e93\u8bb0\u4e8b"],lezhimark:["\u4e50\u77e5\u4e66\u7b7e"],"189mail":["189\u90ae\u7bb1"], |
|||
wo:["WO+\u5206\u4eab"],gmweibo:["\u5149\u660e\u5fae\u535a"],jianweibo:["\u5409\u5b89\u5fae\u535a"],qingbiji:["\u8f7b\u7b14\u8bb0"],duankou:["\u7aef\u53e3\u7f51"],qqim:["QQ\u597d\u53cb"],kdweibo:["\u4e91\u4e4b\u5bb6"],xueqiu:["\u96ea\u7403"],weixin:["\u5fae\u4fe1"]};e.iL8n={promoteHot:"\u70ed",promoteNew:"\u65b0",promoteRec:"\u63a8\u8350",rtnTxt:"\u9009\u62e9\u5176\u4ed6\u5e73\u53f0 >>",shareText:"\u5206\u4eab\u5230",shareTextShort:"\u5206\u4eab",shareTextPromote:"\u5206\u4eab\u6709\u793c",morePlats:"\u66f4\u591a\u5e73\u53f0...",morePlatsShort:"\u66f4\u591a...",whatsThis:"\u8fd9\u662f\u4ec0\u4e48\u5de5\u5177\uff1f",promote:"\u5206\u4eab\u6709\u793c",promoteShort:"\u5956",searchHint:"\u8f93\u5165\u5e73\u53f0\u5173\u952e\u5b57\u67e5\u8be2",closeHint:"30\u5206\u949f\u5185\u4e0d\u518d\u51fa\u73b0\u6b64\u5206\u4eab\u6846",loadFailed:"\u7f51\u7edc\u592a\u6162\u65e0\u6cd5\u52a0\u8f7d\uff0c\u8bf7\u7a0d\u540e\u518d\u8bd5\u3002",loadFailed2:"\u5f88\u62b1\u6b49\uff0c\u65e0\u6cd5\u8fde\u63a5\u670d\u52a1\u5668\u3002\u8bf7\u7a0d\u540e\u91cd\u8bd5\uff01",notSupport:"\u4e0d\u652f\u6301\uff01",copySuccess:"\u590d\u5236\u6210\u529f\uff01\u60a8\u53ef\u4ee5\u7c98\u8d34\u5230QQ/MSN\u4e0a\u5206\u4eab\u7ed9\u60a8\u7684\u597d\u53cb\uff01", |
|||
copyTip:"\u8bf7\u6309Ctrl+C\u590d\u5236\uff0c\u7136\u540e\u60a8\u53ef\u4ee5\u7c98\u8d34\u5230QQ/MSN\u4e0a\u5206\u4eab\u7ed9\u60a8\u7684\u597d\u53cb\uff01",bookmarkTip:"\u6309\u4e86OK\u4ee5\u540e\uff0c\u8bf7\u6309Ctrl+D\uff08Macs\u7528Command+D\uff09\u3002",confirmClose:"\u5173\u95ed\u540e\uff0c\u8be5\u5206\u4eab\u6309\u94ae30\u5206\u949f\u5c06\u4e0d\u518d\u51fa\u73b0\uff0c\u60a8\u4e5f\u65e0\u6cd5\u4f7f\u7528\u5206\u4eab\u529f\u80fd\uff0c\u786e\u5b9a\u5417\uff1f"}})(); |
|||
File diff suppressed because one or more lines are too long
@ -0,0 +1,65 @@ |
|||
var wrapper = jQuery('.cn-wrapper'), |
|||
items = jQuery('.cn-wrapper li'), |
|||
anchors = jQuery('.cn-wrapper li a'); |
|||
|
|||
step1(); |
|||
|
|||
function step1(){ |
|||
items.css({ |
|||
'left': '50%', |
|||
'margin-top': '-1.4em', |
|||
'margin-left': '-10em', |
|||
'overflow': 'hidden' |
|||
}); |
|||
|
|||
items.each(function(i, el){ |
|||
var angle = i * 60; |
|||
jQuery(this).css({ |
|||
'transform': 'rotate('+angle+'deg) skew(30deg)' |
|||
}); |
|||
}); |
|||
|
|||
anchors.css({ |
|||
'transform': 'skew(-30deg) rotate(-60deg) scale(1)', |
|||
'border-radius': '50%', |
|||
'text-align': 'center', |
|||
'padding-top': '2em' |
|||
}); |
|||
|
|||
wrapper.css({'border-radius': '50%', 'overflow': 'hidden'}); |
|||
|
|||
} |
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
jQuery('li.circle').hover(function(){ |
|||
|
|||
|
|||
var c = jQuery(this).index() +1; |
|||
var j = ".service-" + c + " .cn-content"; |
|||
var k = ".service-" + c; |
|||
|
|||
jQuery(".service").hide(); |
|||
jQuery(k).show().stop(); |
|||
|
|||
jQuery(".cn-content").animate({ "opacity": 0 }, 300, 'easeInOutCubic'); |
|||
jQuery(j).animate({ "opacity": 1 }, 400, 'easeInOutCubic').stop(); |
|||
|
|||
}); |
|||
|
|||
|
|||
|
|||
jQuery(".service-1").animate(500, 'easeInOutCubic').show(); |
|||
jQuery(".service-1 .cn-content").animate({ "opacity": 1 }, 400, 'easeInOutCubic'); |
|||
|
|||
|
|||
jQuery('.cn-wrapper ul li a').hover(function() { |
|||
jQuery('.cn-wrapper ul li a').removeClass('active'); |
|||
jQuery(this).addClass('active'); |
|||
}) |
|||
|
|||
|
|||
jQuery("a[href='#']").removeAttr("href").css("cursor","pointer"); |
|||
File diff suppressed because it is too large
@ -0,0 +1,937 @@ |
|||
//Filament Group modification note:
|
|||
//This version of excanvas is modified to support lazy loading of this file. More info here: http://pipwerks.com/2009/03/12/lazy-loading-excanvasjs/
|
|||
|
|||
// Copyright 2006 Google Inc.
|
|||
//
|
|||
// Licensed under the Apache License, Version 2.0 (the "License");
|
|||
// you may not use this file except in compliance with the License.
|
|||
// You may obtain a copy of the License at
|
|||
//
|
|||
// http://www.apache.org/licenses/LICENSE-2.0
|
|||
//
|
|||
// Unless required by applicable law or agreed to in writing, software
|
|||
// distributed under the License is distributed on an "AS IS" BASIS,
|
|||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|||
// See the License for the specific language governing permissions and
|
|||
// limitations under the License.
|
|||
|
|||
|
|||
// Known Issues:
|
|||
//
|
|||
// * Patterns are not implemented.
|
|||
// * Radial gradient are not implemented. The VML version of these look very
|
|||
// different from the canvas one.
|
|||
// * Clipping paths are not implemented.
|
|||
// * Coordsize. The width and height attribute have higher priority than the
|
|||
// width and height style values which isn't correct.
|
|||
// * Painting mode isn't implemented.
|
|||
// * Canvas width/height should is using content-box by default. IE in
|
|||
// Quirks mode will draw the canvas using border-box. Either change your
|
|||
// doctype to HTML5
|
|||
// (http://www.whatwg.org/specs/web-apps/current-work/#the-doctype)
|
|||
// or use Box Sizing Behavior from WebFX
|
|||
// (http://webfx.eae.net/dhtml/boxsizing/boxsizing.html)
|
|||
// * Non uniform scaling does not correctly scale strokes.
|
|||
// * Optimize. There is always room for speed improvements.
|
|||
|
|||
// Only add this code if we do not already have a canvas implementation
|
|||
if (!document.createElement('canvas').getContext) { |
|||
|
|||
(function() { |
|||
|
|||
// alias some functions to make (compiled) code shorter
|
|||
var m = Math; |
|||
var mr = m.round; |
|||
var ms = m.sin; |
|||
var mc = m.cos; |
|||
var abs = m.abs; |
|||
var sqrt = m.sqrt; |
|||
|
|||
// this is used for sub pixel precision
|
|||
var Z = 10; |
|||
var Z2 = Z / 2; |
|||
|
|||
/** |
|||
* This funtion is assigned to the <canvas> elements as element.getContext(). |
|||
* @this {HTMLElement} |
|||
* @return {CanvasRenderingContext2D_} |
|||
*/ |
|||
function getContext() { |
|||
return this.context_ || |
|||
(this.context_ = new CanvasRenderingContext2D_(this)); |
|||
} |
|||
|
|||
var slice = Array.prototype.slice; |
|||
|
|||
/** |
|||
* Binds a function to an object. The returned function will always use the |
|||
* passed in {@code obj} as {@code this}. |
|||
* |
|||
* Example: |
|||
* |
|||
* g = bind(f, obj, a, b) |
|||
* g(c, d) // will do f.call(obj, a, b, c, d)
|
|||
* |
|||
* @param {Function} f The function to bind the object to |
|||
* @param {Object} obj The object that should act as this when the function |
|||
* is called |
|||
* @param {*} var_args Rest arguments that will be used as the initial |
|||
* arguments when the function is called |
|||
* @return {Function} A new function that has bound this |
|||
*/ |
|||
function bind(f, obj, var_args) { |
|||
var a = slice.call(arguments, 2); |
|||
return function() { |
|||
return f.apply(obj, a.concat(slice.call(arguments))); |
|||
}; |
|||
} |
|||
|
|||
var G_vmlCanvasManager_ = { |
|||
init: function(opt_doc) { |
|||
if (/MSIE/.test(navigator.userAgent) && !window.opera) { |
|||
var doc = opt_doc || document; |
|||
// Create a dummy element so that IE will allow canvas elements to be
|
|||
// recognized.
|
|||
doc.createElement('canvas'); |
|||
|
|||
if(doc.readyState !== "complete"){ |
|||
|
|||
doc.attachEvent('onreadystatechange', bind(this.init_, this, doc)); |
|||
|
|||
} else { |
|||
|
|||
this.init_(doc); |
|||
|
|||
} |
|||
|
|||
} |
|||
}, |
|||
|
|||
init_: function(doc) { |
|||
// create xmlns
|
|||
if (!doc.namespaces['g_vml_']) { |
|||
doc.namespaces.add('g_vml_', 'urn:schemas-microsoft-com:vml', |
|||
'#default#VML'); |
|||
|
|||
} |
|||
if (!doc.namespaces['g_o_']) { |
|||
doc.namespaces.add('g_o_', 'urn:schemas-microsoft-com:office:office', |
|||
'#default#VML'); |
|||
} |
|||
|
|||
// Setup default CSS. Only add one style sheet per document
|
|||
if (!doc.styleSheets['ex_canvas_']) { |
|||
var ss = doc.createStyleSheet(); |
|||
ss.owningElement.id = 'ex_canvas_'; |
|||
ss.cssText = 'canvas{display:inline-block;overflow:hidden;' + |
|||
// default size is 300x150 in Gecko and Opera
|
|||
'text-align:left;width:300px;height:150px}' + |
|||
'g_vml_\\:*{behavior:url(#default#VML)}' + |
|||
'g_o_\\:*{behavior:url(#default#VML)}'; |
|||
|
|||
} |
|||
|
|||
// find all canvas elements
|
|||
var els = doc.getElementsByTagName('canvas'); |
|||
for (var i = 0; i < els.length; i++) { |
|||
this.initElement(els[i]); |
|||
} |
|||
}, |
|||
|
|||
/** |
|||
* Public initializes a canvas element so that it can be used as canvas |
|||
* element from now on. This is called automatically before the page is |
|||
* loaded but if you are creating elements using createElement you need to |
|||
* make sure this is called on the element. |
|||
* @param {HTMLElement} el The canvas element to initialize. |
|||
* @return {HTMLElement} the element that was created. |
|||
*/ |
|||
initElement: function(el) { |
|||
if (!el.getContext) { |
|||
|
|||
el.getContext = getContext; |
|||
|
|||
// Remove fallback content. There is no way to hide text nodes so we
|
|||
// just remove all childNodes. We could hide all elements and remove
|
|||
// text nodes but who really cares about the fallback content.
|
|||
el.innerHTML = ''; |
|||
|
|||
// do not use inline function because that will leak memory
|
|||
el.attachEvent('onpropertychange', onPropertyChange); |
|||
el.attachEvent('onresize', onResize); |
|||
|
|||
var attrs = el.attributes; |
|||
if (attrs.width && attrs.width.specified) { |
|||
// TODO: use runtimeStyle and coordsize
|
|||
// el.getContext().setWidth_(attrs.width.nodeValue);
|
|||
el.style.width = attrs.width.nodeValue + 'px'; |
|||
} else { |
|||
el.width = el.clientWidth; |
|||
} |
|||
if (attrs.height && attrs.height.specified) { |
|||
// TODO: use runtimeStyle and coordsize
|
|||
// el.getContext().setHeight_(attrs.height.nodeValue);
|
|||
el.style.height = attrs.height.nodeValue + 'px'; |
|||
} else { |
|||
el.height = el.clientHeight; |
|||
} |
|||
//el.getContext().setCoordsize_()
|
|||
} |
|||
return el; |
|||
} |
|||
}; |
|||
|
|||
function onPropertyChange(e) { |
|||
var el = e.srcElement; |
|||
|
|||
switch (e.propertyName) { |
|||
case 'width': |
|||
el.style.width = el.attributes.width.nodeValue + 'px'; |
|||
el.getContext().clearRect(); |
|||
break; |
|||
case 'height': |
|||
el.style.height = el.attributes.height.nodeValue + 'px'; |
|||
el.getContext().clearRect(); |
|||
break; |
|||
} |
|||
} |
|||
|
|||
function onResize(e) { |
|||
var el = e.srcElement; |
|||
if (el.firstChild) { |
|||
el.firstChild.style.width = el.clientWidth + 'px'; |
|||
el.firstChild.style.height = el.clientHeight + 'px'; |
|||
} |
|||
} |
|||
|
|||
G_vmlCanvasManager_.init(); |
|||
|
|||
// precompute "00" to "FF"
|
|||
var dec2hex = []; |
|||
for (var i = 0; i < 16; i++) { |
|||
for (var j = 0; j < 16; j++) { |
|||
dec2hex[i * 16 + j] = i.toString(16) + j.toString(16); |
|||
} |
|||
} |
|||
|
|||
function createMatrixIdentity() { |
|||
return [ |
|||
[1, 0, 0], |
|||
[0, 1, 0], |
|||
[0, 0, 1] |
|||
]; |
|||
} |
|||
|
|||
function matrixMultiply(m1, m2) { |
|||
var result = createMatrixIdentity(); |
|||
|
|||
for (var x = 0; x < 3; x++) { |
|||
for (var y = 0; y < 3; y++) { |
|||
var sum = 0; |
|||
|
|||
for (var z = 0; z < 3; z++) { |
|||
sum += m1[x][z] * m2[z][y]; |
|||
} |
|||
|
|||
result[x][y] = sum; |
|||
} |
|||
} |
|||
return result; |
|||
} |
|||
|
|||
function copyState(o1, o2) { |
|||
o2.fillStyle = o1.fillStyle; |
|||
o2.lineCap = o1.lineCap; |
|||
o2.lineJoin = o1.lineJoin; |
|||
o2.lineWidth = o1.lineWidth; |
|||
o2.miterLimit = o1.miterLimit; |
|||
o2.shadowBlur = o1.shadowBlur; |
|||
o2.shadowColor = o1.shadowColor; |
|||
o2.shadowOffsetX = o1.shadowOffsetX; |
|||
o2.shadowOffsetY = o1.shadowOffsetY; |
|||
o2.strokeStyle = o1.strokeStyle; |
|||
o2.globalAlpha = o1.globalAlpha; |
|||
o2.arcScaleX_ = o1.arcScaleX_; |
|||
o2.arcScaleY_ = o1.arcScaleY_; |
|||
o2.lineScale_ = o1.lineScale_; |
|||
} |
|||
|
|||
function processStyle(styleString) { |
|||
var str, alpha = 1; |
|||
|
|||
styleString = String(styleString); |
|||
if (styleString.substring(0, 3) == 'rgb') { |
|||
var start = styleString.indexOf('(', 3); |
|||
var end = styleString.indexOf(')', start + 1); |
|||
var guts = styleString.substring(start + 1, end).split(','); |
|||
|
|||
str = '#'; |
|||
for (var i = 0; i < 3; i++) { |
|||
str += dec2hex[Number(guts[i])]; |
|||
} |
|||
|
|||
if (guts.length == 4 && styleString.substr(3, 1) == 'a') { |
|||
alpha = guts[3]; |
|||
} |
|||
} else { |
|||
str = styleString; |
|||
} |
|||
|
|||
return {color: str, alpha: alpha}; |
|||
} |
|||
|
|||
function processLineCap(lineCap) { |
|||
switch (lineCap) { |
|||
case 'butt': |
|||
return 'flat'; |
|||
case 'round': |
|||
return 'round'; |
|||
case 'square': |
|||
default: |
|||
return 'square'; |
|||
} |
|||
} |
|||
|
|||
/** |
|||
* This class implements CanvasRenderingContext2D interface as described by |
|||
* the WHATWG. |
|||
* @param {HTMLElement} surfaceElement The element that the 2D context should |
|||
* be associated with |
|||
*/ |
|||
function CanvasRenderingContext2D_(surfaceElement) { |
|||
this.m_ = createMatrixIdentity(); |
|||
|
|||
this.mStack_ = []; |
|||
this.aStack_ = []; |
|||
this.currentPath_ = []; |
|||
|
|||
// Canvas context properties
|
|||
this.strokeStyle = '#000'; |
|||
this.fillStyle = '#000'; |
|||
|
|||
this.lineWidth = 1; |
|||
this.lineJoin = 'miter'; |
|||
this.lineCap = 'butt'; |
|||
this.miterLimit = Z * 1; |
|||
this.globalAlpha = 1; |
|||
this.canvas = surfaceElement; |
|||
|
|||
var el = surfaceElement.ownerDocument.createElement('div'); |
|||
el.style.width = surfaceElement.clientWidth + 'px'; |
|||
el.style.height = surfaceElement.clientHeight + 'px'; |
|||
el.style.overflow = 'hidden'; |
|||
el.style.position = 'absolute'; |
|||
surfaceElement.appendChild(el); |
|||
|
|||
this.element_ = el; |
|||
this.arcScaleX_ = 1; |
|||
this.arcScaleY_ = 1; |
|||
this.lineScale_ = 1; |
|||
} |
|||
|
|||
var contextPrototype = CanvasRenderingContext2D_.prototype; |
|||
contextPrototype.clearRect = function() { |
|||
this.element_.innerHTML = ''; |
|||
}; |
|||
|
|||
contextPrototype.beginPath = function() { |
|||
// TODO: Branch current matrix so that save/restore has no effect
|
|||
// as per safari docs.
|
|||
this.currentPath_ = []; |
|||
}; |
|||
|
|||
contextPrototype.moveTo = function(aX, aY) { |
|||
var p = this.getCoords_(aX, aY); |
|||
this.currentPath_.push({type: 'moveTo', x: p.x, y: p.y}); |
|||
this.currentX_ = p.x; |
|||
this.currentY_ = p.y; |
|||
}; |
|||
|
|||
contextPrototype.lineTo = function(aX, aY) { |
|||
var p = this.getCoords_(aX, aY); |
|||
this.currentPath_.push({type: 'lineTo', x: p.x, y: p.y}); |
|||
|
|||
this.currentX_ = p.x; |
|||
this.currentY_ = p.y; |
|||
}; |
|||
|
|||
contextPrototype.bezierCurveTo = function(aCP1x, aCP1y, |
|||
aCP2x, aCP2y, |
|||
aX, aY) { |
|||
var p = this.getCoords_(aX, aY); |
|||
var cp1 = this.getCoords_(aCP1x, aCP1y); |
|||
var cp2 = this.getCoords_(aCP2x, aCP2y); |
|||
bezierCurveTo(this, cp1, cp2, p); |
|||
}; |
|||
|
|||
// Helper function that takes the already fixed cordinates.
|
|||
function bezierCurveTo(self, cp1, cp2, p) { |
|||
self.currentPath_.push({ |
|||
type: 'bezierCurveTo', |
|||
cp1x: cp1.x, |
|||
cp1y: cp1.y, |
|||
cp2x: cp2.x, |
|||
cp2y: cp2.y, |
|||
x: p.x, |
|||
y: p.y |
|||
}); |
|||
self.currentX_ = p.x; |
|||
self.currentY_ = p.y; |
|||
} |
|||
|
|||
contextPrototype.quadraticCurveTo = function(aCPx, aCPy, aX, aY) { |
|||
// the following is lifted almost directly from
|
|||
// http://developer.mozilla.org/en/docs/Canvas_tutorial:Drawing_shapes
|
|||
|
|||
var cp = this.getCoords_(aCPx, aCPy); |
|||
var p = this.getCoords_(aX, aY); |
|||
|
|||
var cp1 = { |
|||
x: this.currentX_ + 2.0 / 3.0 * (cp.x - this.currentX_), |
|||
y: this.currentY_ + 2.0 / 3.0 * (cp.y - this.currentY_) |
|||
}; |
|||
var cp2 = { |
|||
x: cp1.x + (p.x - this.currentX_) / 3.0, |
|||
y: cp1.y + (p.y - this.currentY_) / 3.0 |
|||
}; |
|||
|
|||
bezierCurveTo(this, cp1, cp2, p); |
|||
}; |
|||
|
|||
contextPrototype.arc = function(aX, aY, aRadius, |
|||
aStartAngle, aEndAngle, aClockwise) { |
|||
aRadius *= Z; |
|||
var arcType = aClockwise ? 'at' : 'wa'; |
|||
|
|||
var xStart = aX + mc(aStartAngle) * aRadius - Z2; |
|||
var yStart = aY + ms(aStartAngle) * aRadius - Z2; |
|||
|
|||
var xEnd = aX + mc(aEndAngle) * aRadius - Z2; |
|||
var yEnd = aY + ms(aEndAngle) * aRadius - Z2; |
|||
|
|||
// IE won't render arches drawn counter clockwise if xStart == xEnd.
|
|||
if (xStart == xEnd && !aClockwise) { |
|||
xStart += 0.125; // Offset xStart by 1/80 of a pixel. Use something
|
|||
// that can be represented in binary
|
|||
} |
|||
|
|||
var p = this.getCoords_(aX, aY); |
|||
var pStart = this.getCoords_(xStart, yStart); |
|||
var pEnd = this.getCoords_(xEnd, yEnd); |
|||
|
|||
this.currentPath_.push({type: arcType, |
|||
x: p.x, |
|||
y: p.y, |
|||
radius: aRadius, |
|||
xStart: pStart.x, |
|||
yStart: pStart.y, |
|||
xEnd: pEnd.x, |
|||
yEnd: pEnd.y}); |
|||
|
|||
}; |
|||
|
|||
contextPrototype.rect = function(aX, aY, aWidth, aHeight) { |
|||
this.moveTo(aX, aY); |
|||
this.lineTo(aX + aWidth, aY); |
|||
this.lineTo(aX + aWidth, aY + aHeight); |
|||
this.lineTo(aX, aY + aHeight); |
|||
this.closePath(); |
|||
}; |
|||
|
|||
contextPrototype.strokeRect = function(aX, aY, aWidth, aHeight) { |
|||
var oldPath = this.currentPath_; |
|||
this.beginPath(); |
|||
|
|||
this.moveTo(aX, aY); |
|||
this.lineTo(aX + aWidth, aY); |
|||
this.lineTo(aX + aWidth, aY + aHeight); |
|||
this.lineTo(aX, aY + aHeight); |
|||
this.closePath(); |
|||
this.stroke(); |
|||
|
|||
this.currentPath_ = oldPath; |
|||
}; |
|||
|
|||
contextPrototype.fillRect = function(aX, aY, aWidth, aHeight) { |
|||
var oldPath = this.currentPath_; |
|||
this.beginPath(); |
|||
|
|||
this.moveTo(aX, aY); |
|||
this.lineTo(aX + aWidth, aY); |
|||
this.lineTo(aX + aWidth, aY + aHeight); |
|||
this.lineTo(aX, aY + aHeight); |
|||
this.closePath(); |
|||
this.fill(); |
|||
|
|||
this.currentPath_ = oldPath; |
|||
}; |
|||
|
|||
contextPrototype.createLinearGradient = function(aX0, aY0, aX1, aY1) { |
|||
var gradient = new CanvasGradient_('gradient'); |
|||
gradient.x0_ = aX0; |
|||
gradient.y0_ = aY0; |
|||
gradient.x1_ = aX1; |
|||
gradient.y1_ = aY1; |
|||
return gradient; |
|||
}; |
|||
|
|||
contextPrototype.createRadialGradient = function(aX0, aY0, aR0, |
|||
aX1, aY1, aR1) { |
|||
var gradient = new CanvasGradient_('gradientradial'); |
|||
gradient.x0_ = aX0; |
|||
gradient.y0_ = aY0; |
|||
gradient.r0_ = aR0; |
|||
gradient.x1_ = aX1; |
|||
gradient.y1_ = aY1; |
|||
gradient.r1_ = aR1; |
|||
return gradient; |
|||
}; |
|||
|
|||
contextPrototype.drawImage = function(image, var_args) { |
|||
var dx, dy, dw, dh, sx, sy, sw, sh; |
|||
|
|||
// to find the original width we overide the width and height
|
|||
var oldRuntimeWidth = image.runtimeStyle.width; |
|||
var oldRuntimeHeight = image.runtimeStyle.height; |
|||
image.runtimeStyle.width = 'auto'; |
|||
image.runtimeStyle.height = 'auto'; |
|||
|
|||
// get the original size
|
|||
var w = image.width; |
|||
var h = image.height; |
|||
|
|||
// and remove overides
|
|||
image.runtimeStyle.width = oldRuntimeWidth; |
|||
image.runtimeStyle.height = oldRuntimeHeight; |
|||
|
|||
if (arguments.length == 3) { |
|||
dx = arguments[1]; |
|||
dy = arguments[2]; |
|||
sx = sy = 0; |
|||
sw = dw = w; |
|||
sh = dh = h; |
|||
} else if (arguments.length == 5) { |
|||
dx = arguments[1]; |
|||
dy = arguments[2]; |
|||
dw = arguments[3]; |
|||
dh = arguments[4]; |
|||
sx = sy = 0; |
|||
sw = w; |
|||
sh = h; |
|||
} else if (arguments.length == 9) { |
|||
sx = arguments[1]; |
|||
sy = arguments[2]; |
|||
sw = arguments[3]; |
|||
sh = arguments[4]; |
|||
dx = arguments[5]; |
|||
dy = arguments[6]; |
|||
dw = arguments[7]; |
|||
dh = arguments[8]; |
|||
} else { |
|||
throw Error('Invalid number of arguments'); |
|||
} |
|||
|
|||
var d = this.getCoords_(dx, dy); |
|||
|
|||
var w2 = sw / 2; |
|||
var h2 = sh / 2; |
|||
|
|||
var vmlStr = []; |
|||
|
|||
var W = 10; |
|||
var H = 10; |
|||
|
|||
// For some reason that I've now forgotten, using divs didn't work
|
|||
vmlStr.push(' <g_vml_:group', |
|||
' coordsize="', Z * W, ',', Z * H, '"', |
|||
' coordorigin="0,0"' , |
|||
' style="width:', W, 'px;height:', H, 'px;position:absolute;'); |
|||
|
|||
// If filters are necessary (rotation exists), create them
|
|||
// filters are bog-slow, so only create them if abbsolutely necessary
|
|||
// The following check doesn't account for skews (which don't exist
|
|||
// in the canvas spec (yet) anyway.
|
|||
|
|||
if (this.m_[0][0] != 1 || this.m_[0][1]) { |
|||
var filter = []; |
|||
|
|||
// Note the 12/21 reversal
|
|||
filter.push('M11=', this.m_[0][0], ',', |
|||
'M12=', this.m_[1][0], ',', |
|||
'M21=', this.m_[0][1], ',', |
|||
'M22=', this.m_[1][1], ',', |
|||
'Dx=', mr(d.x / Z), ',', |
|||
'Dy=', mr(d.y / Z), ''); |
|||
|
|||
// Bounding box calculation (need to minimize displayed area so that
|
|||
// filters don't waste time on unused pixels.
|
|||
var max = d; |
|||
var c2 = this.getCoords_(dx + dw, dy); |
|||
var c3 = this.getCoords_(dx, dy + dh); |
|||
var c4 = this.getCoords_(dx + dw, dy + dh); |
|||
|
|||
max.x = m.max(max.x, c2.x, c3.x, c4.x); |
|||
max.y = m.max(max.y, c2.y, c3.y, c4.y); |
|||
|
|||
vmlStr.push('padding:0 ', mr(max.x / Z), 'px ', mr(max.y / Z), |
|||
'px 0;filter:progid:DXImageTransform.Microsoft.Matrix(', |
|||
filter.join(''), ", sizingmethod='clip');") |
|||
} else { |
|||
vmlStr.push('top:', mr(d.y / Z), 'px;left:', mr(d.x / Z), 'px;'); |
|||
} |
|||
|
|||
vmlStr.push(' ">' , |
|||
'<g_vml_:image src="', image.src, '"', |
|||
' style="width:', Z * dw, 'px;', |
|||
' height:', Z * dh, 'px;"', |
|||
' cropleft="', sx / w, '"', |
|||
' croptop="', sy / h, '"', |
|||
' cropright="', (w - sx - sw) / w, '"', |
|||
' cropbottom="', (h - sy - sh) / h, '"', |
|||
' />', |
|||
'</g_vml_:group>'); |
|||
|
|||
this.element_.insertAdjacentHTML('BeforeEnd', |
|||
vmlStr.join('')); |
|||
}; |
|||
|
|||
contextPrototype.stroke = function(aFill) { |
|||
var lineStr = []; |
|||
var lineOpen = false; |
|||
var a = processStyle(aFill ? this.fillStyle : this.strokeStyle); |
|||
var color = a.color; |
|||
var opacity = a.alpha * this.globalAlpha; |
|||
|
|||
var W = 10; |
|||
var H = 10; |
|||
|
|||
lineStr.push('<g_vml_:shape', |
|||
' filled="', !!aFill, '"', |
|||
' style="position:absolute;width:', W, 'px;height:', H, 'px;"', |
|||
' coordorigin="0 0" coordsize="', Z * W, ' ', Z * H, '"', |
|||
' stroked="', !aFill, '"', |
|||
' path="'); |
|||
|
|||
var newSeq = false; |
|||
var min = {x: null, y: null}; |
|||
var max = {x: null, y: null}; |
|||
|
|||
for (var i = 0; i < this.currentPath_.length; i++) { |
|||
var p = this.currentPath_[i]; |
|||
var c; |
|||
|
|||
switch (p.type) { |
|||
case 'moveTo': |
|||
c = p; |
|||
lineStr.push(' m ', mr(p.x), ',', mr(p.y)); |
|||
break; |
|||
case 'lineTo': |
|||
lineStr.push(' l ', mr(p.x), ',', mr(p.y)); |
|||
break; |
|||
case 'close': |
|||
lineStr.push(' x '); |
|||
p = null; |
|||
break; |
|||
case 'bezierCurveTo': |
|||
lineStr.push(' c ', |
|||
mr(p.cp1x), ',', mr(p.cp1y), ',', |
|||
mr(p.cp2x), ',', mr(p.cp2y), ',', |
|||
mr(p.x), ',', mr(p.y)); |
|||
break; |
|||
case 'at': |
|||
case 'wa': |
|||
lineStr.push(' ', p.type, ' ', |
|||
mr(p.x - this.arcScaleX_ * p.radius), ',', |
|||
mr(p.y - this.arcScaleY_ * p.radius), ' ', |
|||
mr(p.x + this.arcScaleX_ * p.radius), ',', |
|||
mr(p.y + this.arcScaleY_ * p.radius), ' ', |
|||
mr(p.xStart), ',', mr(p.yStart), ' ', |
|||
mr(p.xEnd), ',', mr(p.yEnd)); |
|||
break; |
|||
} |
|||
|
|||
|
|||
// TODO: Following is broken for curves due to
|
|||
// move to proper paths.
|
|||
|
|||
// Figure out dimensions so we can do gradient fills
|
|||
// properly
|
|||
if (p) { |
|||
if (min.x == null || p.x < min.x) { |
|||
min.x = p.x; |
|||
} |
|||
if (max.x == null || p.x > max.x) { |
|||
max.x = p.x; |
|||
} |
|||
if (min.y == null || p.y < min.y) { |
|||
min.y = p.y; |
|||
} |
|||
if (max.y == null || p.y > max.y) { |
|||
max.y = p.y; |
|||
} |
|||
} |
|||
} |
|||
lineStr.push(' ">'); |
|||
|
|||
if (!aFill) { |
|||
var lineWidth = this.lineScale_ * this.lineWidth; |
|||
|
|||
// VML cannot correctly render a line if the width is less than 1px.
|
|||
// In that case, we dilute the color to make the line look thinner.
|
|||
if (lineWidth < 1) { |
|||
opacity *= lineWidth; |
|||
} |
|||
|
|||
lineStr.push( |
|||
'<g_vml_:stroke', |
|||
' opacity="', opacity, '"', |
|||
' joinstyle="', this.lineJoin, '"', |
|||
' miterlimit="', this.miterLimit, '"', |
|||
' endcap="', processLineCap(this.lineCap), '"', |
|||
' weight="', lineWidth, 'px"', |
|||
' color="', color, '" />' |
|||
); |
|||
} else if (typeof this.fillStyle == 'object') { |
|||
var fillStyle = this.fillStyle; |
|||
var angle = 0; |
|||
var focus = {x: 0, y: 0}; |
|||
|
|||
// additional offset
|
|||
var shift = 0; |
|||
// scale factor for offset
|
|||
var expansion = 1; |
|||
|
|||
if (fillStyle.type_ == 'gradient') { |
|||
var x0 = fillStyle.x0_ / this.arcScaleX_; |
|||
var y0 = fillStyle.y0_ / this.arcScaleY_; |
|||
var x1 = fillStyle.x1_ / this.arcScaleX_; |
|||
var y1 = fillStyle.y1_ / this.arcScaleY_; |
|||
var p0 = this.getCoords_(x0, y0); |
|||
var p1 = this.getCoords_(x1, y1); |
|||
var dx = p1.x - p0.x; |
|||
var dy = p1.y - p0.y; |
|||
angle = Math.atan2(dx, dy) * 180 / Math.PI; |
|||
|
|||
// The angle should be a non-negative number.
|
|||
if (angle < 0) { |
|||
angle += 360; |
|||
} |
|||
|
|||
// Very small angles produce an unexpected result because they are
|
|||
// converted to a scientific notation string.
|
|||
if (angle < 1e-6) { |
|||
angle = 0; |
|||
} |
|||
} else { |
|||
var p0 = this.getCoords_(fillStyle.x0_, fillStyle.y0_); |
|||
var width = max.x - min.x; |
|||
var height = max.y - min.y; |
|||
focus = { |
|||
x: (p0.x - min.x) / width, |
|||
y: (p0.y - min.y) / height |
|||
}; |
|||
|
|||
width /= this.arcScaleX_ * Z; |
|||
height /= this.arcScaleY_ * Z; |
|||
var dimension = m.max(width, height); |
|||
shift = 2 * fillStyle.r0_ / dimension; |
|||
expansion = 2 * fillStyle.r1_ / dimension - shift; |
|||
} |
|||
|
|||
// We need to sort the color stops in ascending order by offset,
|
|||
// otherwise IE won't interpret it correctly.
|
|||
var stops = fillStyle.colors_; |
|||
stops.sort(function(cs1, cs2) { |
|||
return cs1.offset - cs2.offset; |
|||
}); |
|||
|
|||
var length = stops.length; |
|||
var color1 = stops[0].color; |
|||
var color2 = stops[length - 1].color; |
|||
var opacity1 = stops[0].alpha * this.globalAlpha; |
|||
var opacity2 = stops[length - 1].alpha * this.globalAlpha; |
|||
|
|||
var colors = []; |
|||
for (var i = 0; i < length; i++) { |
|||
var stop = stops[i]; |
|||
colors.push(stop.offset * expansion + shift + ' ' + stop.color); |
|||
} |
|||
|
|||
// When colors attribute is used, the meanings of opacity and o:opacity2
|
|||
// are reversed.
|
|||
lineStr.push('<g_vml_:fill type="', fillStyle.type_, '"', |
|||
' method="none" focus="100%"', |
|||
' color="', color1, '"', |
|||
' color2="', color2, '"', |
|||
' colors="', colors.join(','), '"', |
|||
' opacity="', opacity2, '"', |
|||
' g_o_:opacity2="', opacity1, '"', |
|||
' angle="', angle, '"', |
|||
' focusposition="', focus.x, ',', focus.y, '" />'); |
|||
} else { |
|||
lineStr.push('<g_vml_:fill color="', color, '" opacity="', opacity, |
|||
'" />'); |
|||
} |
|||
|
|||
lineStr.push('</g_vml_:shape>'); |
|||
|
|||
this.element_.insertAdjacentHTML('beforeEnd', lineStr.join('')); |
|||
}; |
|||
|
|||
contextPrototype.fill = function() { |
|||
this.stroke(true); |
|||
} |
|||
|
|||
contextPrototype.closePath = function() { |
|||
this.currentPath_.push({type: 'close'}); |
|||
}; |
|||
|
|||
/** |
|||
* @private |
|||
*/ |
|||
contextPrototype.getCoords_ = function(aX, aY) { |
|||
var m = this.m_; |
|||
return { |
|||
x: Z * (aX * m[0][0] + aY * m[1][0] + m[2][0]) - Z2, |
|||
y: Z * (aX * m[0][1] + aY * m[1][1] + m[2][1]) - Z2 |
|||
} |
|||
}; |
|||
|
|||
contextPrototype.save = function() { |
|||
var o = {}; |
|||
copyState(this, o); |
|||
this.aStack_.push(o); |
|||
this.mStack_.push(this.m_); |
|||
this.m_ = matrixMultiply(createMatrixIdentity(), this.m_); |
|||
}; |
|||
|
|||
contextPrototype.restore = function() { |
|||
copyState(this.aStack_.pop(), this); |
|||
this.m_ = this.mStack_.pop(); |
|||
}; |
|||
|
|||
function matrixIsFinite(m) { |
|||
for (var j = 0; j < 3; j++) { |
|||
for (var k = 0; k < 2; k++) { |
|||
if (!isFinite(m[j][k]) || isNaN(m[j][k])) { |
|||
return false; |
|||
} |
|||
} |
|||
} |
|||
return true; |
|||
} |
|||
|
|||
function setM(ctx, m, updateLineScale) { |
|||
if (!matrixIsFinite(m)) { |
|||
return; |
|||
} |
|||
ctx.m_ = m; |
|||
|
|||
if (updateLineScale) { |
|||
// Get the line scale.
|
|||
// Determinant of this.m_ means how much the area is enlarged by the
|
|||
// transformation. So its square root can be used as a scale factor
|
|||
// for width.
|
|||
var det = m[0][0] * m[1][1] - m[0][1] * m[1][0]; |
|||
ctx.lineScale_ = sqrt(abs(det)); |
|||
} |
|||
} |
|||
|
|||
contextPrototype.translate = function(aX, aY) { |
|||
var m1 = [ |
|||
[1, 0, 0], |
|||
[0, 1, 0], |
|||
[aX, aY, 1] |
|||
]; |
|||
|
|||
setM(this, matrixMultiply(m1, this.m_), false); |
|||
}; |
|||
|
|||
contextPrototype.rotate = function(aRot) { |
|||
var c = mc(aRot); |
|||
var s = ms(aRot); |
|||
|
|||
var m1 = [ |
|||
[c, s, 0], |
|||
[-s, c, 0], |
|||
[0, 0, 1] |
|||
]; |
|||
|
|||
setM(this, matrixMultiply(m1, this.m_), false); |
|||
}; |
|||
|
|||
contextPrototype.scale = function(aX, aY) { |
|||
this.arcScaleX_ *= aX; |
|||
this.arcScaleY_ *= aY; |
|||
var m1 = [ |
|||
[aX, 0, 0], |
|||
[0, aY, 0], |
|||
[0, 0, 1] |
|||
]; |
|||
|
|||
setM(this, matrixMultiply(m1, this.m_), true); |
|||
}; |
|||
|
|||
contextPrototype.transform = function(m11, m12, m21, m22, dx, dy) { |
|||
var m1 = [ |
|||
[m11, m12, 0], |
|||
[m21, m22, 0], |
|||
[dx, dy, 1] |
|||
]; |
|||
|
|||
setM(this, matrixMultiply(m1, this.m_), true); |
|||
}; |
|||
|
|||
contextPrototype.setTransform = function(m11, m12, m21, m22, dx, dy) { |
|||
var m = [ |
|||
[m11, m12, 0], |
|||
[m21, m22, 0], |
|||
[dx, dy, 1] |
|||
]; |
|||
|
|||
setM(this, m, true); |
|||
}; |
|||
|
|||
/******** STUBS ********/ |
|||
contextPrototype.clip = function() { |
|||
// TODO: Implement
|
|||
}; |
|||
|
|||
contextPrototype.arcTo = function() { |
|||
// TODO: Implement
|
|||
}; |
|||
|
|||
contextPrototype.createPattern = function() { |
|||
return new CanvasPattern_; |
|||
}; |
|||
|
|||
// Gradient / Pattern Stubs
|
|||
function CanvasGradient_(aType) { |
|||
this.type_ = aType; |
|||
this.x0_ = 0; |
|||
this.y0_ = 0; |
|||
this.r0_ = 0; |
|||
this.x1_ = 0; |
|||
this.y1_ = 0; |
|||
this.r1_ = 0; |
|||
this.colors_ = []; |
|||
} |
|||
|
|||
CanvasGradient_.prototype.addColorStop = function(aOffset, aColor) { |
|||
aColor = processStyle(aColor); |
|||
this.colors_.push({offset: aOffset, |
|||
color: aColor.color, |
|||
alpha: aColor.alpha}); |
|||
}; |
|||
|
|||
function CanvasPattern_() {} |
|||
|
|||
// set up externs
|
|||
G_vmlCanvasManager = G_vmlCanvasManager_; |
|||
CanvasRenderingContext2D = CanvasRenderingContext2D_; |
|||
CanvasGradient = CanvasGradient_; |
|||
CanvasPattern = CanvasPattern_; |
|||
|
|||
})(); |
|||
|
|||
} // if
|
|||
@ -0,0 +1,304 @@ |
|||
var grayscale = (function(){ |
|||
|
|||
var config = { |
|||
colorProps: ['color','backgroundColor','borderBottomColor','borderTopColor','borderLeftColor','borderRightColor','backgroundImage'], |
|||
externalImageHandler : { |
|||
/* Grayscaling externally hosted images does not work |
|||
- Use these functions to handle those images as you so desire */ |
|||
/* Out of convenience these functions are also used for browsers |
|||
like Chrome that do not support CanvasContext.getImageData */ |
|||
init : function(el, src) { |
|||
if (el.nodeName.toLowerCase() === 'img') { |
|||
// Is IMG element...
|
|||
} else { |
|||
// Is background-image element:
|
|||
// Default - remove background images
|
|||
data(el).backgroundImageSRC = src; |
|||
el.style.backgroundImage = ''; |
|||
} |
|||
}, |
|||
reset : function(el) { |
|||
if (el.nodeName.toLowerCase() === 'img') { |
|||
// Is IMG element...
|
|||
} else { |
|||
// Is background-image element:
|
|||
el.style.backgroundImage = 'url(' + (data(el).backgroundImageSRC || '') + ')'; |
|||
} |
|||
} |
|||
} |
|||
}, |
|||
log = function(){ |
|||
try { window.console.log.apply(console, arguments); } |
|||
catch(e) {}; |
|||
}, |
|||
isExternal = function(url) { |
|||
// Checks whether URL is external: 'CanvasContext.getImageData'
|
|||
// only works if the image is on the current domain.
|
|||
return (new RegExp('https?://(?!' + window.location.hostname + ')')).test(url); |
|||
}, |
|||
data = (function(){ |
|||
|
|||
var cache = [0], |
|||
expando = 'data' + (+new Date()); |
|||
|
|||
return function(elem) { |
|||
var cacheIndex = elem[expando], |
|||
nextCacheIndex = cache.length; |
|||
if(!cacheIndex) { |
|||
cacheIndex = elem[expando] = nextCacheIndex; |
|||
cache[cacheIndex] = {}; |
|||
} |
|||
return cache[cacheIndex]; |
|||
}; |
|||
|
|||
})(), |
|||
desatIMG = function(img, prepare, realEl) { |
|||
|
|||
// realEl is only set when img is temp (for BG images)
|
|||
|
|||
var canvas = document.createElement('canvas'), |
|||
context = canvas.getContext('2d'), |
|||
height = img.naturalHeight || img.offsetHeight || img.height, |
|||
width = img.naturalWidth || img.offsetWidth || img.width, |
|||
imgData; |
|||
|
|||
canvas.height = height; |
|||
canvas.width = width; |
|||
context.drawImage(img, 0, 0); |
|||
try { |
|||
imgData = context.getImageData(0, 0, width, height); |
|||
} catch(e) {} |
|||
|
|||
if (prepare) { |
|||
desatIMG.preparing = true; |
|||
// Slowly recurse through pixels for prep,
|
|||
// :: only occurs on grayscale.prepare()
|
|||
var y = 0; |
|||
(function(){ |
|||
|
|||
if (!desatIMG.preparing) { return; } |
|||
|
|||
if (y === height) { |
|||
// Finished!
|
|||
context.putImageData(imgData, 0, 0, 0, 0, width, height); |
|||
realEl ? (data(realEl).BGdataURL = canvas.toDataURL()) |
|||
: (data(img).dataURL = canvas.toDataURL()) |
|||
} |
|||
|
|||
for (var x = 0; x < width; x++) { |
|||
var i = (y * width + x) * 4; |
|||
// Apply Monoschrome level across all channels:
|
|||
imgData.data[i] = imgData.data[i+1] = imgData.data[i+2] = |
|||
RGBtoGRAYSCALE(imgData.data[i], imgData.data[i+1], imgData.data[i+2]); |
|||
} |
|||
|
|||
y++; |
|||
setTimeout(arguments.callee, 0); |
|||
|
|||
})(); |
|||
return; |
|||
} else { |
|||
// If desatIMG was called without 'prepare' flag
|
|||
// then cancel recursion and proceed with force! (below)
|
|||
desatIMG.preparing = false; |
|||
} |
|||
|
|||
for (var y = 0; y < height; y++) { |
|||
for (var x = 0; x < width; x++) { |
|||
var i = (y * width + x) * 4; |
|||
// Apply Monoschrome level across all channels:
|
|||
imgData.data[i] = imgData.data[i+1] = imgData.data[i+2] = |
|||
RGBtoGRAYSCALE(imgData.data[i], imgData.data[i+1], imgData.data[i+2]); |
|||
} |
|||
} |
|||
|
|||
context.putImageData(imgData, 0, 0, 0, 0, width, height); |
|||
return canvas; |
|||
|
|||
}, |
|||
getStyle = function(el, prop) { |
|||
var style = document.defaultView && document.defaultView.getComputedStyle ? |
|||
document.defaultView.getComputedStyle(el, null)[prop] |
|||
: el.currentStyle[prop]; |
|||
// If format is #FFFFFF: (convert to RGB)
|
|||
if (style && /^#[A-F0-9]/i.test(style)) { |
|||
var hex = style.match(/[A-F0-9]{2}/ig); |
|||
style = 'rgb(' + parseInt(hex[0], 16) + ',' |
|||
+ parseInt(hex[1], 16) + ',' |
|||
+ parseInt(hex[2], 16) + ')'; |
|||
} |
|||
return style; |
|||
}, |
|||
RGBtoGRAYSCALE = function(r,g,b) { |
|||
// Returns single monochrome figure:
|
|||
return parseInt( (0.2125 * r) + (0.7154 * g) + (0.0721 * b), 10 ); |
|||
}, |
|||
getAllNodes = function(context) { |
|||
var all = Array.prototype.slice.call(context.getElementsByTagName('*')); |
|||
all.unshift(context); |
|||
return all; |
|||
}; |
|||
|
|||
var init = function(context) { |
|||
|
|||
// Handle if a DOM collection is passed instead of a single el:
|
|||
if (context && context[0] && context.length && context[0].nodeName) { |
|||
// Is a DOM collection:
|
|||
var allContexts = Array.prototype.slice.call(context), |
|||
cIndex = -1, cLen = allContexts.length; |
|||
while (++cIndex<cLen) { init.call(this, allContexts[cIndex]); } |
|||
return; |
|||
} |
|||
|
|||
context = context || document.documentElement; |
|||
|
|||
if (!document.createElement('canvas').getContext) { |
|||
context.style.filter = 'progid:DXImageTransform.Microsoft.BasicImage(grayscale=1)'; |
|||
context.style.zoom = 1; |
|||
return; |
|||
} |
|||
|
|||
var all = getAllNodes(context), |
|||
i = -1, len = all.length; |
|||
|
|||
while (++i<len) { |
|||
var cur = all[i]; |
|||
|
|||
if (cur.nodeName.toLowerCase() === 'img') { |
|||
var src = cur.getAttribute('src'); |
|||
if(!src) { continue; } |
|||
if (isExternal(src)) { |
|||
config.externalImageHandler.init(cur, src); |
|||
} else { |
|||
data(cur).realSRC = src; |
|||
try { |
|||
// Within try statement just encase there's no support....
|
|||
cur.src = data(cur).dataURL || desatIMG(cur).toDataURL(); |
|||
} catch(e) { config.externalImageHandler.init(cur, src); } |
|||
} |
|||
|
|||
} else { |
|||
for (var pIndex = 0, pLen = config.colorProps.length; pIndex < pLen; pIndex++) { |
|||
var prop = config.colorProps[pIndex], |
|||
style = getStyle(cur, prop); |
|||
if (!style) {continue;} |
|||
if (cur.style[prop]) { |
|||
data(cur)[prop] = style; |
|||
} |
|||
// RGB color:
|
|||
if (style.substring(0,4) === 'rgb(') { |
|||
var monoRGB = RGBtoGRAYSCALE.apply(null, style.match(/d+/g)); |
|||
cur.style[prop] = style = 'rgb(' + monoRGB + ',' + monoRGB + ',' + monoRGB + ')'; |
|||
continue; |
|||
} |
|||
// Background Image:
|
|||
if (style.indexOf('url(') > -1) { |
|||
var urlPatt = /(['"]?(.+?)['"]?)/, |
|||
url = style.match(urlPatt)[1]; |
|||
if (isExternal(url)) { |
|||
config.externalImageHandler.init(cur, url); |
|||
data(cur).externalBG = true; |
|||
continue; |
|||
} |
|||
// data(cur).BGdataURL refers to caches URL (from preparation)
|
|||
try { |
|||
var imgSRC = data(cur).BGdataURL || (function(){ |
|||
var temp = document.createElement('img'); |
|||
temp.src = url; |
|||
return desatIMG(temp).toDataURL(); |
|||
})(); |
|||
|
|||
cur.style[prop] = style.replace(urlPatt, function(_, url){ |
|||
return '(' + imgSRC + ')'; |
|||
}); |
|||
} catch(e) { config.externalImageHandler.init(cur, url); } |
|||
} |
|||
} |
|||
} |
|||
} |
|||
|
|||
}; |
|||
|
|||
init.reset = function(context) { |
|||
// Handle if a DOM collection is passed instead of a single el:
|
|||
if (context && context[0] && context.length && context[0].nodeName) { |
|||
// Is a DOM collection:
|
|||
var allContexts = Array.prototype.slice.call(context), |
|||
cIndex = -1, cLen = allContexts.length; |
|||
while (++cIndex<cLen) { init.reset.call(this, allContexts[cIndex]); } |
|||
return; |
|||
} |
|||
context = context || document.documentElement; |
|||
if (!document.createElement('canvas').getContext) { |
|||
context.style.filter = 'progid:DXImageTransform.Microsoft.BasicImage(grayscale=0)'; |
|||
return; |
|||
} |
|||
var all = getAllNodes(context), |
|||
i = -1, len = all.length; |
|||
while (++i<len) { |
|||
var cur = all[i]; |
|||
if (cur.nodeName.toLowerCase() === 'img') { |
|||
var src = cur.getAttribute('src'); |
|||
if (isExternal(src)) { |
|||
config.externalImageHandler.reset(cur, src); |
|||
} |
|||
cur.src = data(cur).realSRC || src; |
|||
} else { |
|||
for (var pIndex = 0, pLen = config.colorProps.length; pIndex < pLen; pIndex++) { |
|||
if (data(cur).externalBG) { |
|||
config.externalImageHandler.reset(cur); |
|||
} |
|||
var prop = config.colorProps[pIndex]; |
|||
cur.style[prop] = data(cur)[prop] || ''; |
|||
} |
|||
} |
|||
} |
|||
}; |
|||
|
|||
init.prepare = function(context) { |
|||
|
|||
// Handle if a DOM collection is passed instead of a single el:
|
|||
if (context && context[0] && context.length && context[0].nodeName) { |
|||
// Is a DOM collection:
|
|||
var allContexts = Array.prototype.slice.call(context), |
|||
cIndex = -1, cLen = allContexts.length; |
|||
while (++cIndex<cLen) { init.prepare.call(null, allContexts[cIndex]); } |
|||
return; |
|||
} |
|||
|
|||
// Slowly recurses through all elements
|
|||
// so as not to lock up on the user.
|
|||
|
|||
context = context || document.documentElement; |
|||
|
|||
if (!document.createElement('canvas').getContext) { return; } |
|||
|
|||
var all = getAllNodes(context), |
|||
i = -1, len = all.length; |
|||
|
|||
while (++i<len) { |
|||
var cur = all[i]; |
|||
if (data(cur).skip) { return; } |
|||
if (cur.nodeName.toLowerCase() === 'img') { |
|||
if (cur.getAttribute('src') && !isExternal(cur.src)) { |
|||
desatIMG(cur, true); |
|||
} |
|||
|
|||
} else { |
|||
var style = getStyle(cur, 'backgroundImage'); |
|||
if (style.indexOf('url(') > -1) { |
|||
var urlPatt = /(['"]?(.+?)['"]?)/, |
|||
url = style.match(urlPatt)[1]; |
|||
if (!isExternal(url)) { |
|||
var temp = document.createElement('img'); |
|||
temp.src = url; |
|||
desatIMG(temp, true, cur); |
|||
} |
|||
} |
|||
} |
|||
} |
|||
}; |
|||
|
|||
return init; |
|||
|
|||
})(); |
|||
File diff suppressed because one or more lines are too long
@ -0,0 +1,83 @@ |
|||
/* |
|||
* Copyright (C) 2009 Joel Sutherland |
|||
* Licenced under the MIT license |
|||
* http//www.newmediacampaigns.com/page/jquery-flickr-plugin
|
|||
* |
|||
* Available tags for templates: |
|||
* title, link, date_taken, description, published, author, author_id, tags, image* |
|||
*/ |
|||
(function($) { |
|||
$.fn.jflickrfeed = function(settings, callback) { |
|||
settings = $.extend(true, { |
|||
flickrbase: 'http//api.flickr.com/services/feeds/', |
|||
feedapi: 'photos_public.gne', |
|||
limit: 20, |
|||
qstrings: { |
|||
lang: 'en-us', |
|||
format: 'json', |
|||
jsoncallback: '?' |
|||
}, |
|||
cleanDescription: true, |
|||
useTemplate: true, |
|||
itemTemplate: '', |
|||
itemCallback: function(){} |
|||
}, settings); |
|||
|
|||
var url = settings.flickrbase + settings.feedapi + '?'; |
|||
var first = true; |
|||
|
|||
for(var key in settings.qstrings){ |
|||
if(!first) |
|||
url += '&'; |
|||
url += key + '=' + settings.qstrings[key]; |
|||
first = false; |
|||
} |
|||
|
|||
return $(this).each(function(){ |
|||
var $container = $(this); |
|||
var container = this; |
|||
$.getJSON(url, function(data){ |
|||
$.each(data.items, function(i,item){ |
|||
if(i < settings.limit){ |
|||
|
|||
// Clean out the Flickr Description
|
|||
if(settings.cleanDescription){ |
|||
var regex = /<p>(.*?)<\/p>/g; |
|||
var input = item.description; |
|||
if(regex.test(input)) { |
|||
item.description = input.match(regex)[2] |
|||
if(item.description!=undefined) |
|||
item.description = item.description.replace('<p>','').replace('</p>',''); |
|||
} |
|||
} |
|||
|
|||
// Add Image Sizes
|
|||
// http//www.flickr.com/services/api/misc.urls.html
|
|||
item['image_s'] = item.media.m.replace('_m', '_s'); |
|||
item['image_t'] = item.media.m.replace('_m', '_t'); |
|||
item['image_m'] = item.media.m.replace('_m', '_m'); |
|||
item['image'] = item.media.m.replace('_m', ''); |
|||
item['image_b'] = item.media.m.replace('_m', '_b'); |
|||
delete item.media; |
|||
|
|||
// Use Template
|
|||
if(settings.useTemplate){ |
|||
var template = settings.itemTemplate; |
|||
for(var key in item){ |
|||
var rgx = new RegExp('{{' + key + '}}', 'g'); |
|||
template = template.replace(rgx, item[key]); |
|||
} |
|||
$container.append(template) |
|||
} |
|||
|
|||
//itemCallback
|
|||
settings.itemCallback.call(container, item); |
|||
} |
|||
}); |
|||
if($.isFunction(callback)){ |
|||
callback.call(container, data); |
|||
} |
|||
}); |
|||
}); |
|||
} |
|||
})(jQuery); |
|||
@ -0,0 +1,496 @@ |
|||
/* |
|||
* Playlist Object for the jPlayer Plugin |
|||
* http://www.jplayer.org
|
|||
* |
|||
* Copyright (c) 2009 - 2014 Happyworm Ltd |
|||
* Licensed under the MIT license. |
|||
* http://www.opensource.org/licenses/MIT
|
|||
* |
|||
* Author: Mark J Panaghiston |
|||
* Version: 2.4.1 |
|||
* Date: 19th November 2014 |
|||
* |
|||
* Requires: |
|||
* - jQuery 1.7.0+ |
|||
* - jPlayer 2.8.2+ |
|||
*/ |
|||
|
|||
/*global jPlayerPlaylist:true */ |
|||
|
|||
(function($, undefined) { |
|||
|
|||
jPlayerPlaylist = function(cssSelector, playlist, options) { |
|||
var self = this; |
|||
|
|||
this.current = 0; |
|||
this.loop = false; // Flag used with the jPlayer repeat event
|
|||
this.shuffled = false; |
|||
this.removing = false; // Flag is true during remove animation, disabling the remove() method until complete.
|
|||
|
|||
this.cssSelector = $.extend({}, this._cssSelector, cssSelector); // Object: Containing the css selectors for jPlayer and its cssSelectorAncestor
|
|||
this.options = $.extend(true, { |
|||
keyBindings: { |
|||
next: { |
|||
key: 221, // ]
|
|||
fn: function() { |
|||
self.next(); |
|||
} |
|||
}, |
|||
previous: { |
|||
key: 219, // [
|
|||
fn: function() { |
|||
self.previous(); |
|||
} |
|||
}, |
|||
shuffle: { |
|||
key: 83, // s
|
|||
fn: function() { |
|||
self.shuffle(); |
|||
} |
|||
} |
|||
}, |
|||
stateClass: { |
|||
shuffled: "jp-state-shuffled" |
|||
} |
|||
}, this._options, options); // Object: The jPlayer constructor options for this playlist and the playlist options
|
|||
|
|||
this.playlist = []; // Array of Objects: The current playlist displayed (Un-shuffled or Shuffled)
|
|||
this.original = []; // Array of Objects: The original playlist
|
|||
|
|||
this._initPlaylist(playlist); // Copies playlist to this.original. Then mirrors this.original to this.playlist. Creating two arrays, where the element pointers match. (Enables pointer comparison.)
|
|||
|
|||
// Setup the css selectors for the extra interface items used by the playlist.
|
|||
this.cssSelector.details = this.cssSelector.cssSelectorAncestor + " .jp-details"; // Note that jPlayer controls the text in the title element.
|
|||
this.cssSelector.playlist = this.cssSelector.cssSelectorAncestor + " .jp-playlist"; |
|||
this.cssSelector.next = this.cssSelector.cssSelectorAncestor + " .jp-next"; |
|||
this.cssSelector.previous = this.cssSelector.cssSelectorAncestor + " .jp-previous"; |
|||
this.cssSelector.shuffle = this.cssSelector.cssSelectorAncestor + " .jp-shuffle"; |
|||
this.cssSelector.shuffleOff = this.cssSelector.cssSelectorAncestor + " .jp-shuffle-off"; |
|||
|
|||
// Override the cssSelectorAncestor given in options
|
|||
this.options.cssSelectorAncestor = this.cssSelector.cssSelectorAncestor; |
|||
|
|||
// Override the default repeat event handler
|
|||
this.options.repeat = function(event) { |
|||
self.loop = event.jPlayer.options.loop; |
|||
}; |
|||
|
|||
// Create a ready event handler to initialize the playlist
|
|||
$(this.cssSelector.jPlayer).bind($.jPlayer.event.ready, function() { |
|||
self._init(); |
|||
}); |
|||
|
|||
// Create an ended event handler to move to the next item
|
|||
$(this.cssSelector.jPlayer).bind($.jPlayer.event.ended, function() { |
|||
self.next(); |
|||
}); |
|||
|
|||
// Create a play event handler to pause other instances
|
|||
$(this.cssSelector.jPlayer).bind($.jPlayer.event.play, function() { |
|||
$(this).jPlayer("pauseOthers"); |
|||
}); |
|||
|
|||
// Create a resize event handler to show the title in full screen mode.
|
|||
$(this.cssSelector.jPlayer).bind($.jPlayer.event.resize, function(event) { |
|||
if(event.jPlayer.options.fullScreen) { |
|||
$(self.cssSelector.details).show(); |
|||
} else { |
|||
$(self.cssSelector.details).hide(); |
|||
} |
|||
}); |
|||
|
|||
// Create click handlers for the extra buttons that do playlist functions.
|
|||
$(this.cssSelector.previous).click(function(e) { |
|||
e.preventDefault(); |
|||
self.previous(); |
|||
self.blur(this); |
|||
}); |
|||
|
|||
$(this.cssSelector.next).click(function(e) { |
|||
e.preventDefault(); |
|||
self.next(); |
|||
self.blur(this); |
|||
}); |
|||
|
|||
$(this.cssSelector.shuffle).click(function(e) { |
|||
e.preventDefault(); |
|||
if(self.shuffled && $(self.cssSelector.jPlayer).jPlayer("option", "useStateClassSkin")) { |
|||
self.shuffle(false); |
|||
} else { |
|||
self.shuffle(true); |
|||
} |
|||
self.blur(this); |
|||
}); |
|||
$(this.cssSelector.shuffleOff).click(function(e) { |
|||
e.preventDefault(); |
|||
self.shuffle(false); |
|||
self.blur(this); |
|||
}).hide(); |
|||
|
|||
// Put the title in its initial display state
|
|||
if(!this.options.fullScreen) { |
|||
$(this.cssSelector.details).hide(); |
|||
} |
|||
|
|||
// Remove the empty <li> from the page HTML. Allows page to be valid HTML, while not interfereing with display animations
|
|||
$(this.cssSelector.playlist + " ul").empty(); |
|||
|
|||
// Create .on() handlers for the playlist items along with the free media and remove controls.
|
|||
this._createItemHandlers(); |
|||
|
|||
// Instance jPlayer
|
|||
$(this.cssSelector.jPlayer).jPlayer(this.options); |
|||
}; |
|||
|
|||
jPlayerPlaylist.prototype = { |
|||
_cssSelector: { // static object, instanced in constructor
|
|||
jPlayer: "#jquery_jplayer_1", |
|||
cssSelectorAncestor: "#jp_container_1" |
|||
}, |
|||
_options: { // static object, instanced in constructor
|
|||
playlistOptions: { |
|||
autoPlay: false, |
|||
loopOnPrevious: false, |
|||
shuffleOnLoop: true, |
|||
enableRemoveControls: false, |
|||
displayTime: 'slow', |
|||
addTime: 'fast', |
|||
removeTime: 'fast', |
|||
shuffleTime: 'slow', |
|||
itemClass: "jp-playlist-item", |
|||
freeGroupClass: "jp-free-media", |
|||
freeItemClass: "jp-playlist-item-free", |
|||
removeItemClass: "jp-playlist-item-remove" |
|||
} |
|||
}, |
|||
option: function(option, value) { // For changing playlist options only
|
|||
if(value === undefined) { |
|||
return this.options.playlistOptions[option]; |
|||
} |
|||
|
|||
this.options.playlistOptions[option] = value; |
|||
|
|||
switch(option) { |
|||
case "enableRemoveControls": |
|||
this._updateControls(); |
|||
break; |
|||
case "itemClass": |
|||
case "freeGroupClass": |
|||
case "freeItemClass": |
|||
case "removeItemClass": |
|||
this._refresh(true); // Instant
|
|||
this._createItemHandlers(); |
|||
break; |
|||
} |
|||
return this; |
|||
}, |
|||
_init: function() { |
|||
var self = this; |
|||
this._refresh(function() { |
|||
if(self.options.playlistOptions.autoPlay) { |
|||
self.play(self.current); |
|||
} else { |
|||
self.select(self.current); |
|||
} |
|||
}); |
|||
}, |
|||
_initPlaylist: function(playlist) { |
|||
this.current = 0; |
|||
this.shuffled = false; |
|||
this.removing = false; |
|||
this.original = $.extend(true, [], playlist); // Copy the Array of Objects
|
|||
this._originalPlaylist(); |
|||
}, |
|||
_originalPlaylist: function() { |
|||
var self = this; |
|||
this.playlist = []; |
|||
// Make both arrays point to the same object elements. Gives us 2 different arrays, each pointing to the same actual object. ie., Not copies of the object.
|
|||
$.each(this.original, function(i) { |
|||
self.playlist[i] = self.original[i]; |
|||
}); |
|||
}, |
|||
_refresh: function(instant) { |
|||
/* instant: Can be undefined, true or a function. |
|||
* undefined -> use animation timings |
|||
* true -> no animation |
|||
* function -> use animation timings and excute function at half way point. |
|||
*/ |
|||
var self = this; |
|||
|
|||
if(instant && !$.isFunction(instant)) { |
|||
$(this.cssSelector.playlist + " ul").empty(); |
|||
$.each(this.playlist, function(i) { |
|||
$(self.cssSelector.playlist + " ul").append(self._createListItem(self.playlist[i])); |
|||
}); |
|||
this._updateControls(); |
|||
} else { |
|||
var displayTime = $(this.cssSelector.playlist + " ul").children().length ? this.options.playlistOptions.displayTime : 0; |
|||
|
|||
$(this.cssSelector.playlist + " ul").slideUp(displayTime, function() { |
|||
var $this = $(this); |
|||
$(this).empty(); |
|||
|
|||
$.each(self.playlist, function(i) { |
|||
$this.append(self._createListItem(self.playlist[i])); |
|||
}); |
|||
self._updateControls(); |
|||
if($.isFunction(instant)) { |
|||
instant(); |
|||
} |
|||
if(self.playlist.length) { |
|||
$(this).slideDown(self.options.playlistOptions.displayTime); |
|||
} else { |
|||
$(this).show(); |
|||
} |
|||
}); |
|||
} |
|||
}, |
|||
_createListItem: function(media) { |
|||
var self = this; |
|||
|
|||
// Wrap the <li> contents in a <div>
|
|||
var listItem = "<li><div>"; |
|||
|
|||
// Create remove control
|
|||
listItem += "<a href='javascript:;' class='" + this.options.playlistOptions.removeItemClass + "'>×</a>"; |
|||
|
|||
// Create links to free media
|
|||
if(media.free) { |
|||
var first = true; |
|||
listItem += "<span class='" + this.options.playlistOptions.freeGroupClass + "'>("; |
|||
$.each(media, function(property,value) { |
|||
if($.jPlayer.prototype.format[property]) { // Check property is a media format.
|
|||
if(first) { |
|||
first = false; |
|||
} else { |
|||
listItem += " | "; |
|||
} |
|||
listItem += "<a class='" + self.options.playlistOptions.freeItemClass + "' href='" + value + "' tabindex='-1'>" + property + "</a>"; |
|||
} |
|||
}); |
|||
listItem += ")</span>"; |
|||
} |
|||
|
|||
// The title is given next in the HTML otherwise the float:right on the free media corrupts in IE6/7
|
|||
listItem += "<a href='javascript:;' class='" + this.options.playlistOptions.itemClass + "' tabindex='0'>" + media.title + (media.artist ? " <span class='jp-artist'>by " + media.artist + "</span>" : "") + "</a>"; |
|||
listItem += "</div></li>"; |
|||
|
|||
return listItem; |
|||
}, |
|||
_createItemHandlers: function() { |
|||
var self = this; |
|||
// Create live handlers for the playlist items
|
|||
$(this.cssSelector.playlist).off("click", "a." + this.options.playlistOptions.itemClass).on("click", "a." + this.options.playlistOptions.itemClass, function(e) { |
|||
e.preventDefault(); |
|||
var index = $(this).parent().parent().index(); |
|||
if(self.current !== index) { |
|||
self.play(index); |
|||
} else { |
|||
$(self.cssSelector.jPlayer).jPlayer("play"); |
|||
} |
|||
self.blur(this); |
|||
}); |
|||
|
|||
// Create live handlers that disable free media links to force access via right click
|
|||
$(this.cssSelector.playlist).off("click", "a." + this.options.playlistOptions.freeItemClass).on("click", "a." + this.options.playlistOptions.freeItemClass, function(e) { |
|||
e.preventDefault(); |
|||
$(this).parent().parent().find("." + self.options.playlistOptions.itemClass).click(); |
|||
self.blur(this); |
|||
}); |
|||
|
|||
// Create live handlers for the remove controls
|
|||
$(this.cssSelector.playlist).off("click", "a." + this.options.playlistOptions.removeItemClass).on("click", "a." + this.options.playlistOptions.removeItemClass, function(e) { |
|||
e.preventDefault(); |
|||
var index = $(this).parent().parent().index(); |
|||
self.remove(index); |
|||
self.blur(this); |
|||
}); |
|||
}, |
|||
_updateControls: function() { |
|||
if(this.options.playlistOptions.enableRemoveControls) { |
|||
$(this.cssSelector.playlist + " ." + this.options.playlistOptions.removeItemClass).show(); |
|||
} else { |
|||
$(this.cssSelector.playlist + " ." + this.options.playlistOptions.removeItemClass).hide(); |
|||
} |
|||
|
|||
if(this.shuffled) { |
|||
$(this.cssSelector.jPlayer).jPlayer("addStateClass", "shuffled"); |
|||
} else { |
|||
$(this.cssSelector.jPlayer).jPlayer("removeStateClass", "shuffled"); |
|||
} |
|||
if($(this.cssSelector.shuffle).length && $(this.cssSelector.shuffleOff).length) { |
|||
if(this.shuffled) { |
|||
$(this.cssSelector.shuffleOff).show(); |
|||
$(this.cssSelector.shuffle).hide(); |
|||
} else { |
|||
$(this.cssSelector.shuffleOff).hide(); |
|||
$(this.cssSelector.shuffle).show(); |
|||
} |
|||
} |
|||
}, |
|||
_highlight: function(index) { |
|||
if(this.playlist.length && index !== undefined) { |
|||
$(this.cssSelector.playlist + " .jp-playlist-current").removeClass("jp-playlist-current"); |
|||
$(this.cssSelector.playlist + " li:nth-child(" + (index + 1) + ")").addClass("jp-playlist-current").find(".jp-playlist-item").addClass("jp-playlist-current"); |
|||
// $(this.cssSelector.details + " li").html("<span class='jp-title'>" + this.playlist[index].title + "</span>" + (this.playlist[index].artist ? " <span class='jp-artist'>by " + this.playlist[index].artist + "</span>" : ""));
|
|||
} |
|||
}, |
|||
setPlaylist: function(playlist) { |
|||
this._initPlaylist(playlist); |
|||
this._init(); |
|||
}, |
|||
add: function(media, playNow) { |
|||
$(this.cssSelector.playlist + " ul").append(this._createListItem(media)).find("li:last-child").hide().slideDown(this.options.playlistOptions.addTime); |
|||
this._updateControls(); |
|||
this.original.push(media); |
|||
this.playlist.push(media); // Both array elements share the same object pointer. Comforms with _initPlaylist(p) system.
|
|||
|
|||
if(playNow) { |
|||
this.play(this.playlist.length - 1); |
|||
} else { |
|||
if(this.original.length === 1) { |
|||
this.select(0); |
|||
} |
|||
} |
|||
}, |
|||
remove: function(index) { |
|||
var self = this; |
|||
|
|||
if(index === undefined) { |
|||
this._initPlaylist([]); |
|||
this._refresh(function() { |
|||
$(self.cssSelector.jPlayer).jPlayer("clearMedia"); |
|||
}); |
|||
return true; |
|||
} else { |
|||
|
|||
if(this.removing) { |
|||
return false; |
|||
} else { |
|||
index = (index < 0) ? self.original.length + index : index; // Negative index relates to end of array.
|
|||
if(0 <= index && index < this.playlist.length) { |
|||
this.removing = true; |
|||
|
|||
$(this.cssSelector.playlist + " li:nth-child(" + (index + 1) + ")").slideUp(this.options.playlistOptions.removeTime, function() { |
|||
$(this).remove(); |
|||
|
|||
if(self.shuffled) { |
|||
var item = self.playlist[index]; |
|||
$.each(self.original, function(i) { |
|||
if(self.original[i] === item) { |
|||
self.original.splice(i, 1); |
|||
return false; // Exit $.each
|
|||
} |
|||
}); |
|||
self.playlist.splice(index, 1); |
|||
} else { |
|||
self.original.splice(index, 1); |
|||
self.playlist.splice(index, 1); |
|||
} |
|||
|
|||
if(self.original.length) { |
|||
if(index === self.current) { |
|||
self.current = (index < self.original.length) ? self.current : self.original.length - 1; // To cope when last element being selected when it was removed
|
|||
self.select(self.current); |
|||
} else if(index < self.current) { |
|||
self.current--; |
|||
} |
|||
} else { |
|||
$(self.cssSelector.jPlayer).jPlayer("clearMedia"); |
|||
self.current = 0; |
|||
self.shuffled = false; |
|||
self._updateControls(); |
|||
} |
|||
|
|||
self.removing = false; |
|||
}); |
|||
} |
|||
return true; |
|||
} |
|||
} |
|||
}, |
|||
select: function(index) { |
|||
index = (index < 0) ? this.original.length + index : index; // Negative index relates to end of array.
|
|||
if(0 <= index && index < this.playlist.length) { |
|||
this.current = index; |
|||
this._highlight(index); |
|||
$(this.cssSelector.jPlayer).jPlayer("setMedia", this.playlist[this.current]); |
|||
} else { |
|||
this.current = 0; |
|||
} |
|||
}, |
|||
play: function(index) { |
|||
index = (index < 0) ? this.original.length + index : index; // Negative index relates to end of array.
|
|||
if(0 <= index && index < this.playlist.length) { |
|||
if(this.playlist.length) { |
|||
this.select(index); |
|||
$(this.cssSelector.jPlayer).jPlayer("play"); |
|||
} |
|||
} else if(index === undefined) { |
|||
$(this.cssSelector.jPlayer).jPlayer("play"); |
|||
} |
|||
}, |
|||
pause: function() { |
|||
$(this.cssSelector.jPlayer).jPlayer("pause"); |
|||
}, |
|||
next: function() { |
|||
var index = (this.current + 1 < this.playlist.length) ? this.current + 1 : 0; |
|||
|
|||
if(this.loop) { |
|||
// See if we need to shuffle before looping to start, and only shuffle if more than 1 item.
|
|||
if(index === 0 && this.shuffled && this.options.playlistOptions.shuffleOnLoop && this.playlist.length > 1) { |
|||
this.shuffle(true, true); // playNow
|
|||
} else { |
|||
this.play(index); |
|||
} |
|||
} else { |
|||
// The index will be zero if it just looped round
|
|||
if(index > 0) { |
|||
this.play(index); |
|||
} |
|||
} |
|||
}, |
|||
previous: function() { |
|||
var index = (this.current - 1 >= 0) ? this.current - 1 : this.playlist.length - 1; |
|||
|
|||
if(this.loop && this.options.playlistOptions.loopOnPrevious || index < this.playlist.length - 1) { |
|||
this.play(index); |
|||
} |
|||
}, |
|||
shuffle: function(shuffled, playNow) { |
|||
var self = this; |
|||
|
|||
if(shuffled === undefined) { |
|||
shuffled = !this.shuffled; |
|||
} |
|||
|
|||
if(shuffled || shuffled !== this.shuffled) { |
|||
|
|||
$(this.cssSelector.playlist + " ul").slideUp(this.options.playlistOptions.shuffleTime, function() { |
|||
self.shuffled = shuffled; |
|||
if(shuffled) { |
|||
self.playlist.sort(function() { |
|||
return 0.5 - Math.random(); |
|||
}); |
|||
} else { |
|||
self._originalPlaylist(); |
|||
} |
|||
self._refresh(true); // Instant
|
|||
|
|||
if(playNow || !$(self.cssSelector.jPlayer).data("jPlayer").status.paused) { |
|||
self.play(0); |
|||
} else { |
|||
self.select(0); |
|||
} |
|||
|
|||
$(this).slideDown(self.options.playlistOptions.shuffleTime); |
|||
}); |
|||
} |
|||
}, |
|||
blur: function(that) { |
|||
if($(this.cssSelector.jPlayer).jPlayer("option", "autoBlur")) { |
|||
$(that).blur(); |
|||
} |
|||
} |
|||
}; |
|||
})(jQuery); |
|||
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
File diff suppressed because one or more lines are too long
Binary file not shown.
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -0,0 +1,69 @@ |
|||
/* |
|||
Plugin: jQuery Parallax |
|||
Version 1.1.3 |
|||
Author: Ian Lunn |
|||
Twitter: @IanLunn |
|||
Author URL: http://www.ianlunn.co.uk/
|
|||
Plugin URL: http://www.ianlunn.co.uk/plugins/jquery-parallax/
|
|||
|
|||
Dual licensed under the MIT and GPL licenses: |
|||
http://www.opensource.org/licenses/mit-license.php
|
|||
http://www.gnu.org/licenses/gpl.html
|
|||
*/ |
|||
|
|||
(function( $ ){ |
|||
var $window = $(window); |
|||
var windowHeight = $window.height(); |
|||
|
|||
$window.resize(function () { |
|||
windowHeight = $window.height(); |
|||
}); |
|||
|
|||
$.fn.parallax = function(xpos, speedFactor, outerHeight) { |
|||
var $this = $(this); |
|||
var getHeight; |
|||
var firstTop; |
|||
var paddingTop = 0; |
|||
|
|||
//get the starting position of each element to have parallax applied to it
|
|||
$this.each(function(){ |
|||
firstTop = $this.offset().top; |
|||
}); |
|||
|
|||
if (outerHeight) { |
|||
getHeight = function(jqo) { |
|||
return jqo.outerHeight(true); |
|||
}; |
|||
} else { |
|||
getHeight = function(jqo) { |
|||
return jqo.height(); |
|||
}; |
|||
} |
|||
|
|||
// setup defaults if arguments aren't specified
|
|||
if (arguments.length < 1 || xpos === null) xpos = "50%"; |
|||
if (arguments.length < 2 || speedFactor === null) speedFactor = 0.1; |
|||
if (arguments.length < 3 || outerHeight === null) outerHeight = true; |
|||
|
|||
// function to be called whenever the window is scrolled or resized
|
|||
function update(){ |
|||
var pos = $window.scrollTop(); |
|||
|
|||
$this.each(function(){ |
|||
var $element = $(this); |
|||
var top = $element.offset().top; |
|||
var height = getHeight($element); |
|||
|
|||
// Check if totally above or totally below viewport
|
|||
if (top + height < pos || top > pos + windowHeight) { |
|||
return; |
|||
} |
|||
|
|||
$this.css('backgroundPosition', xpos + " " + Math.round((firstTop - pos) * speedFactor) + "px"); |
|||
}); |
|||
} |
|||
|
|||
$window.bind('scroll', update).resize(update); |
|||
update(); |
|||
}; |
|||
})(jQuery); |
|||
@ -0,0 +1,911 @@ |
|||
/* ------------------------------------------------------------------------ |
|||
Class: prettyPhoto |
|||
Use: Lightbox clone for jQuery |
|||
Author: Stephane Caron (http//www.no-margin-for-errors.com)
|
|||
Version: 3.1.5 |
|||
------------------------------------------------------------------------- */ |
|||
(function($) { |
|||
$.prettyPhoto = {version: '3.1.5'}; |
|||
|
|||
$.fn.prettyPhoto = function(pp_settings) { |
|||
pp_settings = jQuery.extend({ |
|||
hook: 'rel', /* the attribute tag to use for prettyPhoto hooks. default: 'rel'. For HTML5, use "data-rel" or similar. */ |
|||
animation_speed: 'fast', /* fast/slow/normal */ |
|||
ajaxcallback: function() {}, |
|||
slideshow: 5000, /* false OR interval time in ms */ |
|||
autoplay_slideshow: false, /* true/false */ |
|||
opacity: 0.80, /* Value between 0 and 1 */ |
|||
show_title: true, /* true/false */ |
|||
allow_resize: true, /* Resize the photos bigger than viewport. true/false */ |
|||
allow_expand: true, /* Allow the user to expand a resized image. true/false */ |
|||
default_width: 500, |
|||
default_height: 344, |
|||
counter_separator_label: '/', /* The separator for the gallery counter 1 "of" 2 */ |
|||
theme: 'pp_default', /* light_rounded / dark_rounded / light_square / dark_square / facebook */ |
|||
horizontal_padding: 20, /* The padding on each side of the picture */ |
|||
hideflash: false, /* Hides all the flash object on a page, set to TRUE if flash appears over prettyPhoto */ |
|||
wmode: 'opaque', /* Set the flash wmode attribute */ |
|||
autoplay: true, /* Automatically start videos: True/False */ |
|||
modal: false, /* If set to true, only the close button will close the window */ |
|||
deeplinking: true, /* Allow prettyPhoto to update the url to enable deeplinking. */ |
|||
overlay_gallery: true, /* If set to true, a gallery will overlay the fullscreen image on mouse over */ |
|||
overlay_gallery_max: 30, /* Maximum number of pictures in the overlay gallery */ |
|||
keyboard_shortcuts: true, /* Set to false if you open forms inside prettyPhoto */ |
|||
changepicturecallback: function(){}, /* Called everytime an item is shown/changed */ |
|||
callback: function(){}, /* Called when prettyPhoto is closed */ |
|||
ie6_fallback: true, |
|||
markup: '<div class="pp_pic_holder"> \ |
|||
<div class="ppt"> </div> \ |
|||
<div class="pp_top"> \ |
|||
<div class="pp_left"></div> \ |
|||
<div class="pp_middle"></div> \ |
|||
<div class="pp_right"></div> \ |
|||
</div> \ |
|||
<div class="pp_content_container"> \ |
|||
<div class="pp_left"> \ |
|||
<div class="pp_right"> \ |
|||
<div class="pp_content"> \ |
|||
<div class="pp_loaderIcon"></div> \ |
|||
<div class="pp_fade"> \ |
|||
<a href="#" class="pp_expand" title="Expand the image">Expand</a> \ |
|||
<div class="pp_hoverContainer"> \ |
|||
<a class="pp_next" href="#">next</a> \ |
|||
<a class="pp_previous" href="#">previous</a> \ |
|||
</div> \ |
|||
<div id="pp_full_res"></div> \ |
|||
<div class="pp_details"> \ |
|||
<div class="pp_nav"> \ |
|||
<a href="#" class="pp_arrow_previous">Previous</a> \ |
|||
<p class="currentTextHolder">0/0</p> \ |
|||
<a href="#" class="pp_arrow_next">Next</a> \ |
|||
</div> \ |
|||
<p class="pp_description"></p> \ |
|||
<div class="pp_social">{pp_social}</div> \ |
|||
<a class="pp_close" href="#">Close</a> \ |
|||
</div> \ |
|||
</div> \ |
|||
</div> \ |
|||
</div> \ |
|||
</div> \ |
|||
</div> \ |
|||
<div class="pp_bottom"> \ |
|||
<div class="pp_left"></div> \ |
|||
<div class="pp_middle"></div> \ |
|||
<div class="pp_right"></div> \ |
|||
</div> \ |
|||
</div> \ |
|||
<div class="pp_overlay"></div>', |
|||
gallery_markup: '<div class="pp_gallery"> \ |
|||
<a href="#" class="pp_arrow_previous">Previous</a> \ |
|||
<div> \ |
|||
<ul> \ |
|||
{gallery} \ |
|||
</ul> \ |
|||
</div> \ |
|||
<a href="#" class="pp_arrow_next">Next</a> \ |
|||
</div>', |
|||
image_markup: '<img id="fullResImage" src="{path}" />', |
|||
flash_markup: '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="{width}" height="{height}"><param name="wmode" value="{wmode}" /><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="{path}" /><embed src="{path}" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="{width}" height="{height}" wmode="{wmode}"></embed></object>', |
|||
quicktime_markup: '<object classid="clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B" codebase="http//www.apple.com/qtactivex/qtplugin.cab" height="{height}" width="{width}"><param name="src" value="{path}"><param name="autoplay" value="{autoplay}"><param name="type" value="video/quicktime"><embed src="{path}" height="{height}" width="{width}" autoplay="{autoplay}" type="video/quicktime" pluginspage="http//www.apple.com/quicktime/download/"></embed></object>', |
|||
iframe_markup: '<iframe src ="{path}" width="{width}" height="{height}" frameborder="no"></iframe>', |
|||
inline_markup: '<div class="pp_inline">{content}</div>', |
|||
custom_markup: '', |
|||
social_tools: '', /* html or false to disable */ |
|||
}, pp_settings); |
|||
|
|||
// Global variables accessible only by prettyPhoto
|
|||
var matchedObjects = this, percentBased = false, pp_dimensions, pp_open, |
|||
|
|||
// prettyPhoto container specific
|
|||
pp_contentHeight, pp_contentWidth, pp_containerHeight, pp_containerWidth, |
|||
|
|||
// Window size
|
|||
windowHeight = $(window).height(), windowWidth = $(window).width(), |
|||
|
|||
// Global elements
|
|||
pp_slideshow; |
|||
|
|||
doresize = true, scroll_pos = _get_scroll(); |
|||
|
|||
// Window/Keyboard events
|
|||
$(window).unbind('resize.prettyphoto').bind('resize.prettyphoto',function(){ _center_overlay(); _resize_overlay(); }); |
|||
|
|||
if(pp_settings.keyboard_shortcuts) { |
|||
$(document).unbind('keydown.prettyphoto').bind('keydown.prettyphoto',function(e){ |
|||
if(typeof $pp_pic_holder != 'undefined'){ |
|||
if($pp_pic_holder.is(':visible')){ |
|||
switch(e.keyCode){ |
|||
case 37: |
|||
$.prettyPhoto.changePage('previous'); |
|||
e.preventDefault(); |
|||
break; |
|||
case 39: |
|||
$.prettyPhoto.changePage('next'); |
|||
e.preventDefault(); |
|||
break; |
|||
case 27: |
|||
if(!settings.modal) |
|||
$.prettyPhoto.close(); |
|||
e.preventDefault(); |
|||
break; |
|||
}; |
|||
// return false;
|
|||
}; |
|||
}; |
|||
}); |
|||
}; |
|||
|
|||
/** |
|||
* Initialize prettyPhoto. |
|||
*/ |
|||
$.prettyPhoto.initialize = function() { |
|||
|
|||
settings = pp_settings; |
|||
|
|||
if(settings.theme == 'pp_default') settings.horizontal_padding = 16; |
|||
|
|||
// Find out if the picture is part of a set
|
|||
theRel = $(this).attr(settings.hook); |
|||
galleryRegExp = /\[(?:.*)\]/; |
|||
isSet = (galleryRegExp.exec(theRel)) ? true : false; |
|||
|
|||
// Put the SRCs, TITLEs, ALTs into an array.
|
|||
pp_images = (isSet) ? jQuery.map(matchedObjects, function(n, i){ if($(n).attr(settings.hook).indexOf(theRel) != -1) return $(n).attr('href'); }) : $.makeArray($(this).attr('href')); |
|||
pp_titles = (isSet) ? jQuery.map(matchedObjects, function(n, i){ if($(n).attr(settings.hook).indexOf(theRel) != -1) return ($(n).find('img').attr('alt')) ? $(n).find('img').attr('alt') : ""; }) : $.makeArray($(this).find('img').attr('alt')); |
|||
pp_descriptions = (isSet) ? jQuery.map(matchedObjects, function(n, i){ if($(n).attr(settings.hook).indexOf(theRel) != -1) return ($(n).attr('title')) ? $(n).attr('title') : ""; }) : $.makeArray($(this).attr('title')); |
|||
|
|||
if(pp_images.length > settings.overlay_gallery_max) settings.overlay_gallery = false; |
|||
|
|||
set_position = jQuery.inArray($(this).attr('href'), pp_images); // Define where in the array the clicked item is positionned
|
|||
rel_index = (isSet) ? set_position : $("a["+settings.hook+"^='"+theRel+"']").index($(this)); |
|||
|
|||
_build_overlay(this); // Build the overlay {this} being the caller
|
|||
|
|||
if(settings.allow_resize) |
|||
$(window).bind('scroll.prettyphoto',function(){ _center_overlay(); }); |
|||
|
|||
|
|||
$.prettyPhoto.open(); |
|||
|
|||
return false; |
|||
} |
|||
|
|||
|
|||
/** |
|||
* Opens the prettyPhoto modal box. |
|||
* @param image {String,Array} Full path to the image to be open, can also be an array containing full images paths. |
|||
* @param title {String,Array} The title to be displayed with the picture, can also be an array containing all the titles. |
|||
* @param description {String,Array} The description to be displayed with the picture, can also be an array containing all the descriptions. |
|||
*/ |
|||
$.prettyPhoto.open = function(event) { |
|||
if(typeof settings == "undefined"){ // Means it's an API call, need to manually get the settings and set the variables
|
|||
settings = pp_settings; |
|||
pp_images = $.makeArray(arguments[0]); |
|||
pp_titles = (arguments[1]) ? $.makeArray(arguments[1]) : $.makeArray(""); |
|||
pp_descriptions = (arguments[2]) ? $.makeArray(arguments[2]) : $.makeArray(""); |
|||
isSet = (pp_images.length > 1) ? true : false; |
|||
set_position = (arguments[3])? arguments[3]: 0; |
|||
_build_overlay(event.target); // Build the overlay {this} being the caller
|
|||
} |
|||
|
|||
if(settings.hideflash) $('object,embed,iframe[src*=youtube],iframe[src*=vimeo]').css('visibility','hidden'); // Hide the flash
|
|||
|
|||
_checkPosition($(pp_images).size()); // Hide the next/previous links if on first or last images.
|
|||
|
|||
$('.pp_loaderIcon').show(); |
|||
|
|||
if(settings.deeplinking) |
|||
setHashtag(); |
|||
|
|||
// Rebuild Facebook Like Button with updated href
|
|||
if(settings.social_tools){ |
|||
facebook_like_link = settings.social_tools.replace('{location_href}', encodeURIComponent(location.href)); |
|||
$pp_pic_holder.find('.pp_social').html(facebook_like_link); |
|||
} |
|||
|
|||
// Fade the content in
|
|||
if($ppt.is(':hidden')) $ppt.css('opacity',0).show(); |
|||
$pp_overlay.show().fadeTo(settings.animation_speed,settings.opacity); |
|||
|
|||
// Display the current position
|
|||
$pp_pic_holder.find('.currentTextHolder').text((set_position+1) + settings.counter_separator_label + $(pp_images).size()); |
|||
|
|||
// Set the description
|
|||
if(typeof pp_descriptions[set_position] != 'undefined' && pp_descriptions[set_position] != ""){ |
|||
$pp_pic_holder.find('.pp_description').show().html(unescape(pp_descriptions[set_position])); |
|||
}else{ |
|||
$pp_pic_holder.find('.pp_description').hide(); |
|||
} |
|||
|
|||
// Get the dimensions
|
|||
movie_width = ( parseFloat(getParam('width',pp_images[set_position])) ) ? getParam('width',pp_images[set_position]) : settings.default_width.toString(); |
|||
movie_height = ( parseFloat(getParam('height',pp_images[set_position])) ) ? getParam('height',pp_images[set_position]) : settings.default_height.toString(); |
|||
|
|||
// If the size is % based, calculate according to window dimensions
|
|||
percentBased=false; |
|||
if(movie_height.indexOf('%') != -1) { movie_height = parseFloat(($(window).height() * parseFloat(movie_height) / 100) - 150); percentBased = true; } |
|||
if(movie_width.indexOf('%') != -1) { movie_width = parseFloat(($(window).width() * parseFloat(movie_width) / 100) - 150); percentBased = true; } |
|||
|
|||
// Fade the holder
|
|||
$pp_pic_holder.fadeIn(function(){ |
|||
// Set the title
|
|||
(settings.show_title && pp_titles[set_position] != "" && typeof pp_titles[set_position] != "undefined") ? $ppt.html(unescape(pp_titles[set_position])) : $ppt.html(' '); |
|||
|
|||
imgPreloader = ""; |
|||
skipInjection = false; |
|||
|
|||
// Inject the proper content
|
|||
switch(_getFileType(pp_images[set_position])){ |
|||
case 'image': |
|||
imgPreloader = new Image(); |
|||
|
|||
// Preload the neighbour images
|
|||
nextImage = new Image(); |
|||
if(isSet && set_position < $(pp_images).size() -1) nextImage.src = pp_images[set_position + 1]; |
|||
prevImage = new Image(); |
|||
if(isSet && pp_images[set_position - 1]) prevImage.src = pp_images[set_position - 1]; |
|||
|
|||
$pp_pic_holder.find('#pp_full_res')[0].innerHTML = settings.image_markup.replace(/{path}/g,pp_images[set_position]); |
|||
|
|||
imgPreloader.onload = function(){ |
|||
// Fit item to viewport
|
|||
pp_dimensions = _fitToViewport(imgPreloader.width,imgPreloader.height); |
|||
|
|||
_showContent(); |
|||
}; |
|||
|
|||
imgPreloader.onerror = function(){ |
|||
alert('Image cannot be loaded. Make sure the path is correct and image exist.'); |
|||
$.prettyPhoto.close(); |
|||
}; |
|||
|
|||
imgPreloader.src = pp_images[set_position]; |
|||
break; |
|||
|
|||
case 'youtube': |
|||
pp_dimensions = _fitToViewport(movie_width,movie_height); // Fit item to viewport
|
|||
|
|||
// Regular youtube link
|
|||
movie_id = getParam('v',pp_images[set_position]); |
|||
|
|||
// youtu.be link
|
|||
if(movie_id == ""){ |
|||
movie_id = pp_images[set_position].split('youtu.be/'); |
|||
movie_id = movie_id[1]; |
|||
if(movie_id.indexOf('?') > 0) |
|||
movie_id = movie_id.substr(0,movie_id.indexOf('?')); // Strip anything after the ?
|
|||
|
|||
if(movie_id.indexOf('&') > 0) |
|||
movie_id = movie_id.substr(0,movie_id.indexOf('&')); // Strip anything after the &
|
|||
} |
|||
|
|||
movie = 'http//www.youtube.com/embed/'+movie_id; |
|||
(getParam('rel',pp_images[set_position])) ? movie+="?rel="+getParam('rel',pp_images[set_position]) : movie+="?rel=1"; |
|||
|
|||
if(settings.autoplay) movie += "&autoplay=1"; |
|||
|
|||
toInject = settings.iframe_markup.replace(/{width}/g,pp_dimensions['width']).replace(/{height}/g,pp_dimensions['height']).replace(/{wmode}/g,settings.wmode).replace(/{path}/g,movie); |
|||
break; |
|||
|
|||
case 'vimeo': |
|||
pp_dimensions = _fitToViewport(movie_width,movie_height); // Fit item to viewport
|
|||
|
|||
movie_id = pp_images[set_position]; |
|||
var regExp = /http(s?):\/\/(www\.)?vimeo.com\/(\d+)/; |
|||
var match = movie_id.match(regExp); |
|||
|
|||
movie = 'http//player.vimeo.com/video/'+ match[3] +'?title=0&byline=0&portrait=0'; |
|||
if(settings.autoplay) movie += "&autoplay=1;"; |
|||
|
|||
vimeo_width = pp_dimensions['width'] + '/embed/?moog_width='+ pp_dimensions['width']; |
|||
|
|||
toInject = settings.iframe_markup.replace(/{width}/g,vimeo_width).replace(/{height}/g,pp_dimensions['height']).replace(/{path}/g,movie); |
|||
break; |
|||
|
|||
case 'quicktime': |
|||
pp_dimensions = _fitToViewport(movie_width,movie_height); // Fit item to viewport
|
|||
pp_dimensions['height']+=15; pp_dimensions['contentHeight']+=15; pp_dimensions['containerHeight']+=15; // Add space for the control bar
|
|||
|
|||
toInject = settings.quicktime_markup.replace(/{width}/g,pp_dimensions['width']).replace(/{height}/g,pp_dimensions['height']).replace(/{wmode}/g,settings.wmode).replace(/{path}/g,pp_images[set_position]).replace(/{autoplay}/g,settings.autoplay); |
|||
break; |
|||
|
|||
case 'flash': |
|||
pp_dimensions = _fitToViewport(movie_width,movie_height); // Fit item to viewport
|
|||
|
|||
flash_vars = pp_images[set_position]; |
|||
flash_vars = flash_vars.substring(pp_images[set_position].indexOf('flashvars') + 10,pp_images[set_position].length); |
|||
|
|||
filename = pp_images[set_position]; |
|||
filename = filename.substring(0,filename.indexOf('?')); |
|||
|
|||
toInject = settings.flash_markup.replace(/{width}/g,pp_dimensions['width']).replace(/{height}/g,pp_dimensions['height']).replace(/{wmode}/g,settings.wmode).replace(/{path}/g,filename+'?'+flash_vars); |
|||
break; |
|||
|
|||
case 'iframe': |
|||
pp_dimensions = _fitToViewport(movie_width,movie_height); // Fit item to viewport
|
|||
|
|||
frame_url = pp_images[set_position]; |
|||
frame_url = frame_url.substr(0,frame_url.indexOf('iframe')-1); |
|||
|
|||
toInject = settings.iframe_markup.replace(/{width}/g,pp_dimensions['width']).replace(/{height}/g,pp_dimensions['height']).replace(/{path}/g,frame_url); |
|||
break; |
|||
|
|||
case 'ajax': |
|||
doresize = false; // Make sure the dimensions are not resized.
|
|||
pp_dimensions = _fitToViewport(movie_width,movie_height); |
|||
doresize = true; // Reset the dimensions
|
|||
|
|||
skipInjection = true; |
|||
$.get(pp_images[set_position],function(responseHTML){ |
|||
toInject = settings.inline_markup.replace(/{content}/g,responseHTML); |
|||
$pp_pic_holder.find('#pp_full_res')[0].innerHTML = toInject; |
|||
_showContent(); |
|||
}); |
|||
|
|||
break; |
|||
|
|||
case 'custom': |
|||
pp_dimensions = _fitToViewport(movie_width,movie_height); // Fit item to viewport
|
|||
|
|||
toInject = settings.custom_markup; |
|||
break; |
|||
|
|||
case 'inline': |
|||
// to get the item height clone it, apply default width, wrap it in the prettyPhoto containers , then delete
|
|||
myClone = $(pp_images[set_position]).clone().append('<br clear="all" />').css({'width':settings.default_width}).wrapInner('<div id="pp_full_res"><div class="pp_inline"></div></div>').appendTo($('body')).show(); |
|||
doresize = false; // Make sure the dimensions are not resized.
|
|||
pp_dimensions = _fitToViewport($(myClone).width(),$(myClone).height()); |
|||
doresize = true; // Reset the dimensions
|
|||
$(myClone).remove(); |
|||
toInject = settings.inline_markup.replace(/{content}/g,$(pp_images[set_position]).html()); |
|||
break; |
|||
}; |
|||
|
|||
if(!imgPreloader && !skipInjection){ |
|||
$pp_pic_holder.find('#pp_full_res')[0].innerHTML = toInject; |
|||
|
|||
// Show content
|
|||
_showContent(); |
|||
}; |
|||
}); |
|||
|
|||
return false; |
|||
}; |
|||
|
|||
|
|||
/** |
|||
* Change page in the prettyPhoto modal box |
|||
* @param direction {String} Direction of the paging, previous or next. |
|||
*/ |
|||
$.prettyPhoto.changePage = function(direction){ |
|||
currentGalleryPage = 0; |
|||
|
|||
if(direction == 'previous') { |
|||
set_position--; |
|||
if (set_position < 0) set_position = $(pp_images).size()-1; |
|||
}else if(direction == 'next'){ |
|||
set_position++; |
|||
if(set_position > $(pp_images).size()-1) set_position = 0; |
|||
}else{ |
|||
set_position=direction; |
|||
}; |
|||
|
|||
rel_index = set_position; |
|||
|
|||
if(!doresize) doresize = true; // Allow the resizing of the images
|
|||
if(settings.allow_expand) { |
|||
$('.pp_contract').removeClass('pp_contract').addClass('pp_expand'); |
|||
} |
|||
|
|||
_hideContent(function(){ $.prettyPhoto.open(); }); |
|||
}; |
|||
|
|||
|
|||
/** |
|||
* Change gallery page in the prettyPhoto modal box |
|||
* @param direction {String} Direction of the paging, previous or next. |
|||
*/ |
|||
$.prettyPhoto.changeGalleryPage = function(direction){ |
|||
if(direction=='next'){ |
|||
currentGalleryPage ++; |
|||
|
|||
if(currentGalleryPage > totalPage) currentGalleryPage = 0; |
|||
}else if(direction=='previous'){ |
|||
currentGalleryPage --; |
|||
|
|||
if(currentGalleryPage < 0) currentGalleryPage = totalPage; |
|||
}else{ |
|||
currentGalleryPage = direction; |
|||
}; |
|||
|
|||
slide_speed = (direction == 'next' || direction == 'previous') ? settings.animation_speed : 0; |
|||
|
|||
slide_to = currentGalleryPage * (itemsPerPage * itemWidth); |
|||
|
|||
$pp_gallery.find('ul').animate({left:-slide_to},slide_speed); |
|||
}; |
|||
|
|||
|
|||
/** |
|||
* Start the slideshow... |
|||
*/ |
|||
$.prettyPhoto.startSlideshow = function(){ |
|||
if(typeof pp_slideshow == 'undefined'){ |
|||
$pp_pic_holder.find('.pp_play').unbind('click').removeClass('pp_play').addClass('pp_pause').click(function(){ |
|||
$.prettyPhoto.stopSlideshow(); |
|||
return false; |
|||
}); |
|||
pp_slideshow = setInterval($.prettyPhoto.startSlideshow,settings.slideshow); |
|||
}else{ |
|||
$.prettyPhoto.changePage('next'); |
|||
}; |
|||
} |
|||
|
|||
|
|||
/** |
|||
* Stop the slideshow... |
|||
*/ |
|||
$.prettyPhoto.stopSlideshow = function(){ |
|||
$pp_pic_holder.find('.pp_pause').unbind('click').removeClass('pp_pause').addClass('pp_play').click(function(){ |
|||
$.prettyPhoto.startSlideshow(); |
|||
return false; |
|||
}); |
|||
clearInterval(pp_slideshow); |
|||
pp_slideshow=undefined; |
|||
} |
|||
|
|||
|
|||
/** |
|||
* Closes prettyPhoto. |
|||
*/ |
|||
$.prettyPhoto.close = function(){ |
|||
if($pp_overlay.is(":animated")) return; |
|||
|
|||
$.prettyPhoto.stopSlideshow(); |
|||
|
|||
$pp_pic_holder.stop().find('object,embed').css('visibility','hidden'); |
|||
|
|||
$('div.pp_pic_holder,div.ppt,.pp_fade').fadeOut(settings.animation_speed,function(){ $(this).remove(); }); |
|||
|
|||
$pp_overlay.fadeOut(settings.animation_speed, function(){ |
|||
|
|||
if(settings.hideflash) $('object,embed,iframe[src*=youtube],iframe[src*=vimeo]').css('visibility','visible'); // Show the flash
|
|||
|
|||
$(this).remove(); // No more need for the prettyPhoto markup
|
|||
|
|||
$(window).unbind('scroll.prettyphoto'); |
|||
|
|||
clearHashtag(); |
|||
|
|||
settings.callback(); |
|||
|
|||
doresize = true; |
|||
|
|||
pp_open = false; |
|||
|
|||
delete settings; |
|||
}); |
|||
}; |
|||
|
|||
/** |
|||
* Set the proper sizes on the containers and animate the content in. |
|||
*/ |
|||
function _showContent(){ |
|||
$('.pp_loaderIcon').hide(); |
|||
|
|||
// Calculate the opened top position of the pic holder
|
|||
projectedTop = scroll_pos['scrollTop'] + ((windowHeight/2) - (pp_dimensions['containerHeight']/2)); |
|||
if(projectedTop < 0) projectedTop = 0; |
|||
|
|||
$ppt.fadeTo(settings.animation_speed,1); |
|||
|
|||
// Resize the content holder
|
|||
$pp_pic_holder.find('.pp_content') |
|||
.animate({ |
|||
height:pp_dimensions['contentHeight'], |
|||
width:pp_dimensions['contentWidth'] |
|||
},settings.animation_speed); |
|||
|
|||
// Resize picture the holder
|
|||
$pp_pic_holder.animate({ |
|||
'top': projectedTop, |
|||
'left': ((windowWidth/2) - (pp_dimensions['containerWidth']/2) < 0) ? 0 : (windowWidth/2) - (pp_dimensions['containerWidth']/2), |
|||
width:pp_dimensions['containerWidth'] |
|||
},settings.animation_speed,function(){ |
|||
$pp_pic_holder.find('.pp_hoverContainer,#fullResImage').height(pp_dimensions['height']).width(pp_dimensions['width']); |
|||
|
|||
$pp_pic_holder.find('.pp_fade').fadeIn(settings.animation_speed); // Fade the new content
|
|||
|
|||
// Show the nav
|
|||
if(isSet && _getFileType(pp_images[set_position])=="image") { $pp_pic_holder.find('.pp_hoverContainer').show(); }else{ $pp_pic_holder.find('.pp_hoverContainer').hide(); } |
|||
|
|||
if(settings.allow_expand) { |
|||
if(pp_dimensions['resized']){ // Fade the resizing link if the image is resized
|
|||
$('a.pp_expand,a.pp_contract').show(); |
|||
}else{ |
|||
$('a.pp_expand').hide(); |
|||
} |
|||
} |
|||
|
|||
if(settings.autoplay_slideshow && !pp_slideshow && !pp_open) $.prettyPhoto.startSlideshow(); |
|||
|
|||
settings.changepicturecallback(); // Callback!
|
|||
|
|||
pp_open = true; |
|||
}); |
|||
|
|||
_insert_gallery(); |
|||
pp_settings.ajaxcallback(); |
|||
}; |
|||
|
|||
/** |
|||
* Hide the content...DUH! |
|||
*/ |
|||
function _hideContent(callback){ |
|||
// Fade out the current picture
|
|||
$pp_pic_holder.find('#pp_full_res object,#pp_full_res embed').css('visibility','hidden'); |
|||
$pp_pic_holder.find('.pp_fade').fadeOut(settings.animation_speed,function(){ |
|||
$('.pp_loaderIcon').show(); |
|||
|
|||
callback(); |
|||
}); |
|||
}; |
|||
|
|||
/** |
|||
* Check the item position in the gallery array, hide or show the navigation links |
|||
* @param setCount {integer} The total number of items in the set |
|||
*/ |
|||
function _checkPosition(setCount){ |
|||
(setCount > 1) ? $('.pp_nav').show() : $('.pp_nav').hide(); // Hide the bottom nav if it's not a set.
|
|||
}; |
|||
|
|||
/** |
|||
* Resize the item dimensions if it's bigger than the viewport |
|||
* @param width {integer} Width of the item to be opened |
|||
* @param height {integer} Height of the item to be opened |
|||
* @return An array containin the "fitted" dimensions |
|||
*/ |
|||
function _fitToViewport(width,height){ |
|||
resized = false; |
|||
|
|||
_getDimensions(width,height); |
|||
|
|||
// Define them in case there's no resize needed
|
|||
imageWidth = width, imageHeight = height; |
|||
|
|||
if( ((pp_containerWidth > windowWidth) || (pp_containerHeight > windowHeight)) && doresize && settings.allow_resize && !percentBased) { |
|||
resized = true, fitting = false; |
|||
|
|||
while (!fitting){ |
|||
if((pp_containerWidth > windowWidth)){ |
|||
imageWidth = (windowWidth - 200); |
|||
imageHeight = (height/width) * imageWidth; |
|||
}else if((pp_containerHeight > windowHeight)){ |
|||
imageHeight = (windowHeight - 200); |
|||
imageWidth = (width/height) * imageHeight; |
|||
}else{ |
|||
fitting = true; |
|||
}; |
|||
|
|||
pp_containerHeight = imageHeight, pp_containerWidth = imageWidth; |
|||
}; |
|||
|
|||
|
|||
|
|||
if((pp_containerWidth > windowWidth) || (pp_containerHeight > windowHeight)){ |
|||
_fitToViewport(pp_containerWidth,pp_containerHeight) |
|||
}; |
|||
|
|||
_getDimensions(imageWidth,imageHeight); |
|||
}; |
|||
|
|||
return { |
|||
width:Math.floor(imageWidth), |
|||
height:Math.floor(imageHeight), |
|||
containerHeight:Math.floor(pp_containerHeight), |
|||
containerWidth:Math.floor(pp_containerWidth) + (settings.horizontal_padding * 2), |
|||
contentHeight:Math.floor(pp_contentHeight), |
|||
contentWidth:Math.floor(pp_contentWidth), |
|||
resized:resized |
|||
}; |
|||
}; |
|||
|
|||
/** |
|||
* Get the containers dimensions according to the item size |
|||
* @param width {integer} Width of the item to be opened |
|||
* @param height {integer} Height of the item to be opened |
|||
*/ |
|||
function _getDimensions(width,height){ |
|||
width = parseFloat(width); |
|||
height = parseFloat(height); |
|||
|
|||
// Get the details height, to do so, I need to clone it since it's invisible
|
|||
$pp_details = $pp_pic_holder.find('.pp_details'); |
|||
$pp_details.width(width); |
|||
detailsHeight = parseFloat($pp_details.css('marginTop')) + parseFloat($pp_details.css('marginBottom')); |
|||
|
|||
$pp_details = $pp_details.clone().addClass(settings.theme).width(width).appendTo($('body')).css({ |
|||
'position':'absolute', |
|||
'top':-10000 |
|||
}); |
|||
detailsHeight += $pp_details.height(); |
|||
detailsHeight = (detailsHeight <= 34) ? 36 : detailsHeight; // Min-height for the details
|
|||
$pp_details.remove(); |
|||
|
|||
// Get the titles height, to do so, I need to clone it since it's invisible
|
|||
$pp_title = $pp_pic_holder.find('.ppt'); |
|||
$pp_title.width(width); |
|||
titleHeight = parseFloat($pp_title.css('marginTop')) + parseFloat($pp_title.css('marginBottom')); |
|||
$pp_title = $pp_title.clone().appendTo($('body')).css({ |
|||
'position':'absolute', |
|||
'top':-10000 |
|||
}); |
|||
titleHeight += $pp_title.height(); |
|||
$pp_title.remove(); |
|||
|
|||
// Get the container size, to resize the holder to the right dimensions
|
|||
pp_contentHeight = height + detailsHeight; |
|||
pp_contentWidth = width; |
|||
pp_containerHeight = pp_contentHeight + titleHeight + $pp_pic_holder.find('.pp_top').height() + $pp_pic_holder.find('.pp_bottom').height(); |
|||
pp_containerWidth = width; |
|||
} |
|||
|
|||
function _getFileType(itemSrc){ |
|||
if (itemSrc.match(/youtube\.com\/watch/i) || itemSrc.match(/youtu\.be/i)) { |
|||
return 'youtube'; |
|||
}else if (itemSrc.match(/vimeo\.com/i)) { |
|||
return 'vimeo'; |
|||
}else if(itemSrc.match(/\b.mov\b/i)){ |
|||
return 'quicktime'; |
|||
}else if(itemSrc.match(/\b.swf\b/i)){ |
|||
return 'flash'; |
|||
}else if(itemSrc.match(/\biframe=true\b/i)){ |
|||
return 'iframe'; |
|||
}else if(itemSrc.match(/\bajax=true\b/i)){ |
|||
return 'ajax'; |
|||
}else if(itemSrc.match(/\bcustom=true\b/i)){ |
|||
return 'custom'; |
|||
}else if(itemSrc.substr(0,1) == '#'){ |
|||
return 'inline'; |
|||
}else{ |
|||
return 'image'; |
|||
}; |
|||
}; |
|||
|
|||
function _center_overlay(){ |
|||
if(doresize && typeof $pp_pic_holder != 'undefined') { |
|||
scroll_pos = _get_scroll(); |
|||
contentHeight = $pp_pic_holder.height(), contentwidth = $pp_pic_holder.width(); |
|||
|
|||
projectedTop = (windowHeight/2) + scroll_pos['scrollTop'] - (contentHeight/2); |
|||
if(projectedTop < 0) projectedTop = 0; |
|||
|
|||
if(contentHeight > windowHeight) |
|||
return; |
|||
|
|||
$pp_pic_holder.css({ |
|||
'top': projectedTop, |
|||
'left': (windowWidth/2) + scroll_pos['scrollLeft'] - (contentwidth/2) |
|||
}); |
|||
}; |
|||
}; |
|||
|
|||
function _get_scroll(){ |
|||
if (self.pageYOffset) { |
|||
return {scrollTop:self.pageYOffset,scrollLeft:self.pageXOffset}; |
|||
} else if (document.documentElement && document.documentElement.scrollTop) { // Explorer 6 Strict
|
|||
return {scrollTop:document.documentElement.scrollTop,scrollLeft:document.documentElement.scrollLeft}; |
|||
} else if (document.body) {// all other Explorers
|
|||
return {scrollTop:document.body.scrollTop,scrollLeft:document.body.scrollLeft}; |
|||
}; |
|||
}; |
|||
|
|||
function _resize_overlay() { |
|||
windowHeight = $(window).height(), windowWidth = $(window).width(); |
|||
|
|||
if(typeof $pp_overlay != "undefined") $pp_overlay.height($(document).height()).width(windowWidth); |
|||
}; |
|||
|
|||
function _insert_gallery(){ |
|||
if(isSet && settings.overlay_gallery && _getFileType(pp_images[set_position])=="image") { |
|||
itemWidth = 52+5; // 52 beign the thumb width, 5 being the right margin.
|
|||
navWidth = (settings.theme == "facebook" || settings.theme == "pp_default") ? 50 : 30; // Define the arrow width depending on the theme
|
|||
|
|||
itemsPerPage = Math.floor((pp_dimensions['containerWidth'] - 100 - navWidth) / itemWidth); |
|||
itemsPerPage = (itemsPerPage < pp_images.length) ? itemsPerPage : pp_images.length; |
|||
totalPage = Math.ceil(pp_images.length / itemsPerPage) - 1; |
|||
|
|||
// Hide the nav in the case there's no need for links
|
|||
if(totalPage == 0){ |
|||
navWidth = 0; // No nav means no width!
|
|||
$pp_gallery.find('.pp_arrow_next,.pp_arrow_previous').hide(); |
|||
}else{ |
|||
$pp_gallery.find('.pp_arrow_next,.pp_arrow_previous').show(); |
|||
}; |
|||
|
|||
galleryWidth = itemsPerPage * itemWidth; |
|||
fullGalleryWidth = pp_images.length * itemWidth; |
|||
|
|||
// Set the proper width to the gallery items
|
|||
$pp_gallery |
|||
.css('margin-left',-((galleryWidth/2) + (navWidth/2))) |
|||
.find('div:first').width(galleryWidth+5) |
|||
.find('ul').width(fullGalleryWidth) |
|||
.find('li.selected').removeClass('selected'); |
|||
|
|||
goToPage = (Math.floor(set_position/itemsPerPage) < totalPage) ? Math.floor(set_position/itemsPerPage) : totalPage; |
|||
|
|||
$.prettyPhoto.changeGalleryPage(goToPage); |
|||
|
|||
$pp_gallery_li.filter(':eq('+set_position+')').addClass('selected'); |
|||
}else{ |
|||
$pp_pic_holder.find('.pp_content').unbind('mouseenter mouseleave'); |
|||
// $pp_gallery.hide();
|
|||
} |
|||
} |
|||
|
|||
function _build_overlay(caller){ |
|||
// Inject Social Tool markup into General markup
|
|||
if(settings.social_tools) |
|||
facebook_like_link = settings.social_tools.replace('{location_href}', encodeURIComponent(location.href)); |
|||
|
|||
settings.markup = settings.markup.replace('{pp_social}',''); |
|||
|
|||
$('body').append(settings.markup); // Inject the markup
|
|||
|
|||
$pp_pic_holder = $('.pp_pic_holder') , $ppt = $('.ppt'), $pp_overlay = $('div.pp_overlay'); // Set my global selectors
|
|||
|
|||
// Inject the inline gallery!
|
|||
if(isSet && settings.overlay_gallery) { |
|||
currentGalleryPage = 0; |
|||
toInject = ""; |
|||
for (var i=0; i < pp_images.length; i++) { |
|||
if(!pp_images[i].match(/\b(jpg|jpeg|png|gif)\b/gi)){ |
|||
classname = 'default'; |
|||
img_src = ''; |
|||
}else{ |
|||
classname = ''; |
|||
img_src = pp_images[i]; |
|||
} |
|||
toInject += "<li class='"+classname+"'><a href='#'><img src='" + img_src + "' width='50' alt='' /></a></li>"; |
|||
}; |
|||
|
|||
toInject = settings.gallery_markup.replace(/{gallery}/g,toInject); |
|||
|
|||
$pp_pic_holder.find('#pp_full_res').after(toInject); |
|||
|
|||
$pp_gallery = $('.pp_pic_holder .pp_gallery'), $pp_gallery_li = $pp_gallery.find('li'); // Set the gallery selectors
|
|||
|
|||
$pp_gallery.find('.pp_arrow_next').click(function(){ |
|||
$.prettyPhoto.changeGalleryPage('next'); |
|||
$.prettyPhoto.stopSlideshow(); |
|||
return false; |
|||
}); |
|||
|
|||
$pp_gallery.find('.pp_arrow_previous').click(function(){ |
|||
$.prettyPhoto.changeGalleryPage('previous'); |
|||
$.prettyPhoto.stopSlideshow(); |
|||
return false; |
|||
}); |
|||
|
|||
$pp_pic_holder.find('.pp_content').hover( |
|||
function(){ |
|||
$pp_pic_holder.find('.pp_gallery:not(.disabled)').fadeIn(); |
|||
}, |
|||
function(){ |
|||
$pp_pic_holder.find('.pp_gallery:not(.disabled)').fadeOut(); |
|||
}); |
|||
|
|||
itemWidth = 52+5; // 52 beign the thumb width, 5 being the right margin.
|
|||
$pp_gallery_li.each(function(i){ |
|||
$(this) |
|||
.find('a') |
|||
.click(function(){ |
|||
$.prettyPhoto.changePage(i); |
|||
$.prettyPhoto.stopSlideshow(); |
|||
return false; |
|||
}); |
|||
}); |
|||
}; |
|||
|
|||
|
|||
// Inject the play/pause if it's a slideshow
|
|||
if(settings.slideshow){ |
|||
$pp_pic_holder.find('.pp_nav').prepend('<a href="#" class="pp_play">Play</a>') |
|||
$pp_pic_holder.find('.pp_nav .pp_play').click(function(){ |
|||
$.prettyPhoto.startSlideshow(); |
|||
return false; |
|||
}); |
|||
} |
|||
|
|||
$pp_pic_holder.attr('class','pp_pic_holder ' + settings.theme); // Set the proper theme
|
|||
|
|||
$pp_overlay |
|||
.css({ |
|||
'opacity':0, |
|||
'height':$(document).height(), |
|||
'width':$(window).width() |
|||
}) |
|||
.bind('click',function(){ |
|||
if(!settings.modal) $.prettyPhoto.close(); |
|||
}); |
|||
|
|||
$('a.pp_close').bind('click',function(){ $.prettyPhoto.close(); return false; }); |
|||
|
|||
|
|||
if(settings.allow_expand) { |
|||
$('a.pp_expand').bind('click',function(e){ |
|||
// Expand the image
|
|||
if($(this).hasClass('pp_expand')){ |
|||
$(this).removeClass('pp_expand').addClass('pp_contract'); |
|||
doresize = false; |
|||
}else{ |
|||
$(this).removeClass('pp_contract').addClass('pp_expand'); |
|||
doresize = true; |
|||
}; |
|||
|
|||
_hideContent(function(){ $.prettyPhoto.open(); }); |
|||
|
|||
return false; |
|||
}); |
|||
} |
|||
|
|||
$pp_pic_holder.find('.pp_previous, .pp_nav .pp_arrow_previous').bind('click',function(){ |
|||
$.prettyPhoto.changePage('previous'); |
|||
$.prettyPhoto.stopSlideshow(); |
|||
return false; |
|||
}); |
|||
|
|||
$pp_pic_holder.find('.pp_next, .pp_nav .pp_arrow_next').bind('click',function(){ |
|||
$.prettyPhoto.changePage('next'); |
|||
$.prettyPhoto.stopSlideshow(); |
|||
return false; |
|||
}); |
|||
|
|||
_center_overlay(); // Center it
|
|||
}; |
|||
|
|||
if(!pp_alreadyInitialized && getHashtag()){ |
|||
pp_alreadyInitialized = true; |
|||
|
|||
// Grab the rel index to trigger the click on the correct element
|
|||
hashIndex = getHashtag(); |
|||
hashRel = hashIndex; |
|||
hashIndex = hashIndex.substring(hashIndex.indexOf('/')+1,hashIndex.length-1); |
|||
hashRel = hashRel.substring(0,hashRel.indexOf('/')); |
|||
|
|||
// Little timeout to make sure all the prettyPhoto initialize scripts has been run.
|
|||
// Useful in the event the page contain several init scripts.
|
|||
setTimeout(function(){ $("a["+pp_settings.hook+"^='"+hashRel+"']:eq("+hashIndex+")").trigger('click'); },50); |
|||
} |
|||
|
|||
return this.unbind('click.prettyphoto').bind('click.prettyphoto',$.prettyPhoto.initialize); // Return the jQuery object for chaining. The unbind method is used to avoid click conflict when the plugin is called more than once
|
|||
}; |
|||
|
|||
function getHashtag(){ |
|||
var url = location.href; |
|||
hashtag = (url.indexOf('#prettyPhoto') !== -1) ? decodeURI(url.substring(url.indexOf('#prettyPhoto')+1,url.length)) : false; |
|||
|
|||
return hashtag; |
|||
}; |
|||
|
|||
function setHashtag(){ |
|||
if(typeof theRel == 'undefined') return; // theRel is set on normal calls, it's impossible to deeplink using the API
|
|||
location.hash = theRel + '/'+rel_index+'/'; |
|||
}; |
|||
|
|||
function clearHashtag(){ |
|||
if ( location.href.indexOf('#prettyPhoto') !== -1 ) location.hash = "prettyPhoto"; |
|||
} |
|||
|
|||
function getParam(name,url){ |
|||
name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]"); |
|||
var regexS = "[\\?&]"+name+"=([^&#]*)"; |
|||
var regex = new RegExp( regexS ); |
|||
var results = regex.exec( url ); |
|||
return ( results == null ) ? "" : results[1]; |
|||
} |
|||
|
|||
})(jQuery); |
|||
|
|||
var pp_alreadyInitialized = false; // Used for the deep linking to make sure not to call the same function several times.
|
|||
@ -0,0 +1,139 @@ |
|||
// Sticky Plugin v1.0.0 for jQuery
|
|||
// =============
|
|||
// Author: Anthony Garand
|
|||
// Improvements by German M. Bravo (Kronuz) and Ruud Kamphuis (ruudk)
|
|||
// Improvements by Leonardo C. Daronco (daronco)
|
|||
// Created: 2/14/2011
|
|||
// Date: 2/12/2012
|
|||
// Website: http//labs.anthonygarand.com/sticky
|
|||
// Description: Makes an element on the page stick on the screen as you scroll
|
|||
// It will only set the 'top' and 'position' of your element, you
|
|||
// might need to adjust the width in some cases.
|
|||
|
|||
(function($) { |
|||
var defaults = { |
|||
topSpacing: 0, |
|||
bottomSpacing: 0, |
|||
className: 'is-sticky', |
|||
wrapperClassName: 'sticky-wrapper', |
|||
center: false, |
|||
getWidthFrom: '' |
|||
}, |
|||
$window = $(window), |
|||
$document = $(document), |
|||
sticked = [], |
|||
windowHeight = $window.height(), |
|||
scroller = function() { |
|||
var scrollTop = $window.scrollTop(), |
|||
documentHeight = $document.height(), |
|||
dwh = documentHeight - windowHeight, |
|||
extra = (scrollTop > dwh) ? dwh - scrollTop : 0; |
|||
|
|||
for (var i = 0; i < sticked.length; i++) { |
|||
var s = sticked[i], |
|||
elementTop = s.stickyWrapper.offset().top, |
|||
etse = elementTop - s.topSpacing - extra; |
|||
|
|||
if (scrollTop <= etse) { |
|||
if (s.currentTop !== null) { |
|||
s.stickyElement |
|||
.css('position', '') |
|||
.css('top', ''); |
|||
s.stickyElement.parent().removeClass(s.className); |
|||
s.currentTop = null; |
|||
} |
|||
} |
|||
else { |
|||
var newTop = documentHeight - s.stickyElement.outerHeight() |
|||
- s.topSpacing - s.bottomSpacing - scrollTop - extra; |
|||
|
|||
var fwidth = $(window).width(); |
|||
//alert(fwidth);
|
|||
|
|||
if (newTop < 0) { |
|||
newTop = newTop + s.topSpacing; |
|||
} else { |
|||
newTop = s.topSpacing; |
|||
} |
|||
if (s.currentTop != newTop) { |
|||
s.stickyElement |
|||
.css('position', 'fixed') |
|||
.css('top', newTop); |
|||
|
|||
if (typeof s.getWidthFrom !== 'undefined') { |
|||
s.stickyElement.css('width', $(s.getWidthFrom).width()); |
|||
} |
|||
|
|||
s.stickyElement.parent().addClass(s.className); |
|||
s.currentTop = newTop; |
|||
} |
|||
} |
|||
} |
|||
}, |
|||
resizer = function() { |
|||
windowHeight = $window.height(); |
|||
}, |
|||
methods = { |
|||
init: function(options) { |
|||
var o = $.extend(defaults, options); |
|||
return this.each(function() { |
|||
var stickyElement = $(this); |
|||
|
|||
|
|||
|
|||
var stickyId = stickyElement.attr('id'); |
|||
var wrapper = $('<div></div>') |
|||
.attr('id', stickyId + '-sticky-wrapper') |
|||
.addClass(o.wrapperClassName); |
|||
stickyElement.wrapAll(wrapper); |
|||
|
|||
if (o.center) { |
|||
stickyElement.parent().css({width:stickyElement.outerWidth(),marginLeft:"auto",marginRight:"auto"}); |
|||
} |
|||
|
|||
if (stickyElement.css("float") == "right") { |
|||
stickyElement.css({"float":"none"}).parent().css({"float":"right"}); |
|||
} |
|||
|
|||
|
|||
|
|||
var stickyWrapper = stickyElement.parent(); |
|||
//stickyWrapper.css('height', bdyHeight());
|
|||
sticked.push({ |
|||
topSpacing: o.topSpacing, |
|||
bottomSpacing: o.bottomSpacing, |
|||
stickyElement: stickyElement, |
|||
currentTop: null, |
|||
stickyWrapper: stickyWrapper, |
|||
className: o.className, |
|||
getWidthFrom: o.getWidthFrom |
|||
}); |
|||
}); |
|||
}, |
|||
update: scroller |
|||
}; |
|||
|
|||
|
|||
|
|||
// should be more efficient than using $window.scroll(scroller) and $window.resize(resizer):
|
|||
if (window.addEventListener) { |
|||
window.addEventListener('scroll', scroller, false); |
|||
window.addEventListener('resize', resizer, false); |
|||
} else if (window.attachEvent) { |
|||
window.attachEvent('onscroll', scroller); |
|||
window.attachEvent('onresize', resizer); |
|||
} |
|||
|
|||
$.fn.sticky = function(method) { |
|||
if (methods[method]) { |
|||
return methods[method].apply(this, Array.prototype.slice.call(arguments, 1)); |
|||
} else if (typeof method === 'object' || !method ) { |
|||
return methods.init.apply( this, arguments ); |
|||
} else { |
|||
$.error('Method ' + method + ' does not exist on jQuery.sticky'); |
|||
} |
|||
}; |
|||
$(function() { |
|||
setTimeout(scroller, 0); |
|||
}); |
|||
})(jQuery); |
|||
File diff suppressed because one or more lines are too long
@ -0,0 +1,14 @@ |
|||
var $lang={ |
|||
errAlertMsg: "Invalid date or the date out of range,redo or not?", |
|||
aWeekStr: ["wk", "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"], |
|||
aLongWeekStr:["wk","Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"], |
|||
aMonStr: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"], |
|||
aLongMonStr: ["January","February","March","April","May","June","July","August","September","October","November","December"], |
|||
clearStr: "Clear", |
|||
todayStr: "Today", |
|||
okStr: "OK", |
|||
updateStr: "OK", |
|||
timeStr: "Time", |
|||
quickStr: "Quick Selection", |
|||
err_1: 'MinDate Cannot be bigger than MaxDate!' |
|||
} |
|||
@ -0,0 +1,14 @@ |
|||
var $lang={ |
|||
errAlertMsg: "\u4E0D\u5408\u6CD5\u7684\u65E5\u671F\u683C\u5F0F\u6216\u8005\u65E5\u671F\u8D85\u51FA\u9650\u5B9A\u8303\u56F4,\u9700\u8981\u64A4\u9500\u5417?", |
|||
aWeekStr: ["\u5468","\u65E5","\u4E00","\u4E8C","\u4E09","\u56DB","\u4E94","\u516D"], |
|||
aLongWeekStr:["\u5468","\u661F\u671F\u65E5","\u661F\u671F\u4E00","\u661F\u671F\u4E8C","\u661F\u671F\u4E09","\u661F\u671F\u56DB","\u661F\u671F\u4E94","\u661F\u671F\u516D"], |
|||
aMonStr: ["\u4E00\u6708","\u4E8C\u6708","\u4E09\u6708","\u56DB\u6708","\u4E94\u6708","\u516D\u6708","\u4E03\u6708","\u516B\u6708","\u4E5D\u6708","\u5341\u6708","\u5341\u4E00","\u5341\u4E8C"], |
|||
aLongMonStr: ["\u4E00\u6708","\u4E8C\u6708","\u4E09\u6708","\u56DB\u6708","\u4E94\u6708","\u516D\u6708","\u4E03\u6708","\u516B\u6708","\u4E5D\u6708","\u5341\u6708","\u5341\u4E00\u6708","\u5341\u4E8C\u6708"], |
|||
clearStr: "\u6E05\u7A7A", |
|||
todayStr: "\u4ECA\u5929", |
|||
okStr: "\u786E\u5B9A", |
|||
updateStr: "\u786E\u5B9A", |
|||
timeStr: "\u65F6\u95F4", |
|||
quickStr: "\u5FEB\u901F\u9009\u62E9", |
|||
err_1: '\u6700\u5C0F\u65E5\u671F\u4E0D\u80FD\u5927\u4E8E\u6700\u5927\u65E5\u671F!' |
|||
} |
|||
@ -0,0 +1,14 @@ |
|||
var $lang={ |
|||
errAlertMsg: "\u4E0D\u5408\u6CD5\u7684\u65E5\u671F\u683C\u5F0F\u6216\u8005\u65E5\u671F\u8D85\u51FA\u9650\u5B9A\u7BC4\u570D,\u9700\u8981\u64A4\u92B7\u55CE?", |
|||
aWeekStr: ["\u5468","\u65E5","\u4E00","\u4E8C","\u4E09","\u56DB","\u4E94","\u516D"], |
|||
aLongWeekStr:["\u5468","\u661F\u671F\u65E5","\u661F\u671F\u4E00","\u661F\u671F\u4E8C","\u661F\u671F\u4E09","\u661F\u671F\u56DB","\u661F\u671F\u4E94","\u661F\u671F\u516D"], |
|||
aMonStr: ["\u4E00\u6708","\u4E8C\u6708","\u4E09\u6708","\u56DB\u6708","\u4E94\u6708","\u516D\u6708","\u4E03\u6708","\u516B\u6708","\u4E5D\u6708","\u5341\u6708","\u5341\u4E00","\u5341\u4E8C"], |
|||
aLongMonStr: ["\u4E00\u6708","\u4E8C\u6708","\u4E09\u6708","\u56DB\u6708","\u4E94\u6708","\u516D\u6708","\u4E03\u6708","\u516B\u6708","\u4E5D\u6708","\u5341\u6708","\u5341\u4E00\u6708","\u5341\u4E8C\u6708"], |
|||
clearStr: "\u6E05\u7A7A", |
|||
todayStr: "\u4ECA\u5929", |
|||
okStr: "\u78BA\u5B9A", |
|||
updateStr: "\u78BA\u5B9A", |
|||
timeStr: "\u6642\u9593", |
|||
quickStr: "\u5FEB\u901F\u9078\u64C7", |
|||
err_1: '\u6700\u5C0F\u65E5\u671F\u4E0D\u80FD\u5927\u65BC\u6700\u5927\u65E5\u671F!' |
|||
} |
|||
@ -0,0 +1,11 @@ |
|||
$(function(){ |
|||
$(".leftmenu").mouseover(function(){ |
|||
$(this).addClass("modeleftmenuactive"); |
|||
$(this).addClass("modeleftmenuactive"); |
|||
}) |
|||
$(".leftmenu").mouseout(function(){ |
|||
if($(".modeleftmenuactive").length!=1){ |
|||
$(this).removeClass("modeleftmenuactive"); |
|||
} |
|||
}) |
|||
}) |
|||
@ -0,0 +1,519 @@ |
|||
/*! |
|||
* Lightbox v2.10.0 |
|||
* by Lokesh Dhakar |
|||
* |
|||
* More info: |
|||
* http://lokeshdhakar.com/projects/lightbox2/
|
|||
* |
|||
* Copyright 2007, 2018 Lokesh Dhakar |
|||
* Released under the MIT license |
|||
* https://github.com/lokesh/lightbox2/blob/master/LICENSE
|
|||
* |
|||
* @preserve |
|||
*/ |
|||
|
|||
// Uses Node, AMD or browser globals to create a module.
|
|||
(function (root, factory) { |
|||
if (typeof define === 'function' && define.amd) { |
|||
// AMD. Register as an anonymous module.
|
|||
define(['jquery'], factory); |
|||
} else if (typeof exports === 'object') { |
|||
// Node. Does not work with strict CommonJS, but
|
|||
// only CommonJS-like environments that support module.exports,
|
|||
// like Node.
|
|||
module.exports = factory(require('jquery')); |
|||
} else { |
|||
// Browser globals (root is window)
|
|||
root.lightbox = factory(root.jQuery); |
|||
} |
|||
}(this, function ($) { |
|||
|
|||
function Lightbox(options) { |
|||
this.album = []; |
|||
this.currentImageIndex = void 0; |
|||
this.init(); |
|||
|
|||
// options
|
|||
this.options = $.extend({}, this.constructor.defaults); |
|||
this.option(options); |
|||
} |
|||
|
|||
// Descriptions of all options available on the demo site:
|
|||
// http://lokeshdhakar.com/projects/lightbox2/index.html#options
|
|||
Lightbox.defaults = { |
|||
albumLabel: 'Image %1 of %2', |
|||
alwaysShowNavOnTouchDevices: false, |
|||
fadeDuration: 600, |
|||
fitImagesInViewport: true, |
|||
imageFadeDuration: 600, |
|||
// maxWidth: 800,
|
|||
// maxHeight: 600,
|
|||
positionFromTop: 50, |
|||
resizeDuration: 700, |
|||
showImageNumberLabel: true, |
|||
wrapAround: false, |
|||
disableScrolling: false, |
|||
/* |
|||
Sanitize Title |
|||
If the caption data is trusted, for example you are hardcoding it in, then leave this to false. |
|||
This will free you to add html tags, such as links, in the caption. |
|||
|
|||
If the caption data is user submitted or from some other untrusted source, then set this to true |
|||
to prevent xss and other injection attacks. |
|||
*/ |
|||
sanitizeTitle: false |
|||
}; |
|||
|
|||
Lightbox.prototype.option = function(options) { |
|||
$.extend(this.options, options); |
|||
}; |
|||
|
|||
Lightbox.prototype.imageCountLabel = function(currentImageNum, totalImages) { |
|||
return this.options.albumLabel.replace(/%1/g, currentImageNum).replace(/%2/g, totalImages); |
|||
}; |
|||
|
|||
Lightbox.prototype.init = function() { |
|||
var self = this; |
|||
// Both enable and build methods require the body tag to be in the DOM.
|
|||
$(document).ready(function() { |
|||
self.enable(); |
|||
self.build(); |
|||
}); |
|||
}; |
|||
|
|||
// Loop through anchors and areamaps looking for either data-lightbox attributes or rel attributes
|
|||
// that contain 'lightbox'. When these are clicked, start lightbox.
|
|||
Lightbox.prototype.enable = function() { |
|||
var self = this; |
|||
$('body').on('click', 'a[rel^=lightbox], area[rel^=lightbox], a[data-lightbox], area[data-lightbox]', function(event) { |
|||
self.start($(event.currentTarget)); |
|||
return false; |
|||
}); |
|||
}; |
|||
|
|||
// Build html for the lightbox and the overlay.
|
|||
// Attach event handlers to the new DOM elements. click click click
|
|||
Lightbox.prototype.build = function() { |
|||
if ($('#lightbox').length > 0) { |
|||
return; |
|||
} |
|||
|
|||
var self = this; |
|||
$('<div id="lightboxOverlay" class="lightboxOverlay"></div><div id="lightbox" class="lightbox"><div class="lb-outerContainer"><div class="lb-container"><img class="lb-image" src="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==" /><div class="lb-nav"><a class="lb-prev" href="" ></a><a class="lb-next" href="" ></a></div><div class="lb-loader"><a class="lb-cancel"></a></div></div></div><div class="lb-dataContainer"><div class="lb-data"><div class="lb-details"><span class="lb-caption"></span><span class="lb-number"></span></div><div class="lb-closeContainer"><a class="lb-close"></a></div></div></div></div>').appendTo($('body')); |
|||
|
|||
// Cache jQuery objects
|
|||
this.$lightbox = $('#lightbox'); |
|||
this.$overlay = $('#lightboxOverlay'); |
|||
this.$outerContainer = this.$lightbox.find('.lb-outerContainer'); |
|||
this.$container = this.$lightbox.find('.lb-container'); |
|||
this.$image = this.$lightbox.find('.lb-image'); |
|||
this.$nav = this.$lightbox.find('.lb-nav'); |
|||
|
|||
// Store css values for future lookup
|
|||
this.containerPadding = { |
|||
top: parseInt(this.$container.css('padding-top'), 10), |
|||
right: parseInt(this.$container.css('padding-right'), 10), |
|||
bottom: parseInt(this.$container.css('padding-bottom'), 10), |
|||
left: parseInt(this.$container.css('padding-left'), 10) |
|||
}; |
|||
|
|||
this.imageBorderWidth = { |
|||
top: parseInt(this.$image.css('border-top-width'), 10), |
|||
right: parseInt(this.$image.css('border-right-width'), 10), |
|||
bottom: parseInt(this.$image.css('border-bottom-width'), 10), |
|||
left: parseInt(this.$image.css('border-left-width'), 10) |
|||
}; |
|||
|
|||
// Attach event handlers to the newly minted DOM elements
|
|||
this.$overlay.hide().on('click', function() { |
|||
self.end(); |
|||
return false; |
|||
}); |
|||
|
|||
this.$lightbox.hide().on('click', function(event) { |
|||
if ($(event.target).attr('id') === 'lightbox') { |
|||
self.end(); |
|||
} |
|||
return false; |
|||
}); |
|||
|
|||
this.$outerContainer.on('click', function(event) { |
|||
if ($(event.target).attr('id') === 'lightbox') { |
|||
self.end(); |
|||
} |
|||
return false; |
|||
}); |
|||
|
|||
this.$lightbox.find('.lb-prev').on('click', function() { |
|||
if (self.currentImageIndex === 0) { |
|||
self.changeImage(self.album.length - 1); |
|||
} else { |
|||
self.changeImage(self.currentImageIndex - 1); |
|||
} |
|||
return false; |
|||
}); |
|||
|
|||
this.$lightbox.find('.lb-next').on('click', function() { |
|||
if (self.currentImageIndex === self.album.length - 1) { |
|||
self.changeImage(0); |
|||
} else { |
|||
self.changeImage(self.currentImageIndex + 1); |
|||
} |
|||
return false; |
|||
}); |
|||
|
|||
/* |
|||
Show context menu for image on right-click |
|||
|
|||
There is a div containing the navigation that spans the entire image and lives above of it. If |
|||
you right-click, you are right clicking this div and not the image. This prevents users from |
|||
saving the image or using other context menu actions with the image. |
|||
|
|||
To fix this, when we detect the right mouse button is pressed down, but not yet clicked, we |
|||
set pointer-events to none on the nav div. This is so that the upcoming right-click event on |
|||
the next mouseup will bubble down to the image. Once the right-click/contextmenu event occurs |
|||
we set the pointer events back to auto for the nav div so it can capture hover and left-click |
|||
events as usual. |
|||
*/ |
|||
this.$nav.on('mousedown', function(event) { |
|||
if (event.which === 3) { |
|||
self.$nav.css('pointer-events', 'none'); |
|||
|
|||
self.$lightbox.one('contextmenu', function() { |
|||
setTimeout(function() { |
|||
this.$nav.css('pointer-events', 'auto'); |
|||
}.bind(self), 0); |
|||
}); |
|||
} |
|||
}); |
|||
|
|||
|
|||
this.$lightbox.find('.lb-loader, .lb-close').on('click', function() { |
|||
self.end(); |
|||
return false; |
|||
}); |
|||
}; |
|||
|
|||
// Show overlay and lightbox. If the image is part of a set, add siblings to album array.
|
|||
Lightbox.prototype.start = function($link) { |
|||
var self = this; |
|||
var $window = $(window); |
|||
|
|||
$window.on('resize', $.proxy(this.sizeOverlay, this)); |
|||
|
|||
$('select, object, embed').css({ |
|||
visibility: 'hidden' |
|||
}); |
|||
|
|||
this.sizeOverlay(); |
|||
|
|||
this.album = []; |
|||
var imageNumber = 0; |
|||
|
|||
function addToAlbum($link) { |
|||
self.album.push({ |
|||
alt: $link.attr('data-alt'), |
|||
link: $link.attr('href'), |
|||
title: $link.attr('data-title') || $link.attr('title') |
|||
}); |
|||
} |
|||
|
|||
// Support both data-lightbox attribute and rel attribute implementations
|
|||
var dataLightboxValue = $link.attr('data-lightbox'); |
|||
var $links; |
|||
|
|||
if (dataLightboxValue) { |
|||
$links = $($link.prop('tagName') + '[data-lightbox="' + dataLightboxValue + '"]'); |
|||
for (var i = 0; i < $links.length; i = ++i) { |
|||
addToAlbum($($links[i])); |
|||
if ($links[i] === $link[0]) { |
|||
imageNumber = i; |
|||
} |
|||
} |
|||
} else { |
|||
if ($link.attr('rel') === 'lightbox') { |
|||
// If image is not part of a set
|
|||
addToAlbum($link); |
|||
} else { |
|||
// If image is part of a set
|
|||
$links = $($link.prop('tagName') + '[rel="' + $link.attr('rel') + '"]'); |
|||
for (var j = 0; j < $links.length; j = ++j) { |
|||
addToAlbum($($links[j])); |
|||
if ($links[j] === $link[0]) { |
|||
imageNumber = j; |
|||
} |
|||
} |
|||
} |
|||
} |
|||
|
|||
// Position Lightbox
|
|||
var top = $window.scrollTop() + this.options.positionFromTop; |
|||
var left = $window.scrollLeft(); |
|||
this.$lightbox.css({ |
|||
top: top + 'px', |
|||
left: left + 'px' |
|||
}).fadeIn(this.options.fadeDuration); |
|||
|
|||
// Disable scrolling of the page while open
|
|||
if (this.options.disableScrolling) { |
|||
$('html').addClass('lb-disable-scrolling'); |
|||
} |
|||
|
|||
this.changeImage(imageNumber); |
|||
}; |
|||
|
|||
// Hide most UI elements in preparation for the animated resizing of the lightbox.
|
|||
Lightbox.prototype.changeImage = function(imageNumber) { |
|||
var self = this; |
|||
|
|||
this.disableKeyboardNav(); |
|||
var $image = this.$lightbox.find('.lb-image'); |
|||
|
|||
this.$overlay.fadeIn(this.options.fadeDuration); |
|||
|
|||
$('.lb-loader').fadeIn('slow'); |
|||
this.$lightbox.find('.lb-image, .lb-nav, .lb-prev, .lb-next, .lb-dataContainer, .lb-numbers, .lb-caption').hide(); |
|||
|
|||
this.$outerContainer.addClass('animating'); |
|||
|
|||
// When image to show is preloaded, we send the width and height to sizeContainer()
|
|||
var preloader = new Image(); |
|||
preloader.onload = function() { |
|||
var $preloader; |
|||
var imageHeight; |
|||
var imageWidth; |
|||
var maxImageHeight; |
|||
var maxImageWidth; |
|||
var windowHeight; |
|||
var windowWidth; |
|||
|
|||
$image.attr({ |
|||
'alt': self.album[imageNumber].alt, |
|||
'src': self.album[imageNumber].link |
|||
}); |
|||
|
|||
$preloader = $(preloader); |
|||
|
|||
$image.width(preloader.width); |
|||
$image.height(preloader.height); |
|||
|
|||
if (self.options.fitImagesInViewport) { |
|||
// Fit image inside the viewport.
|
|||
// Take into account the border around the image and an additional 10px gutter on each side.
|
|||
|
|||
windowWidth = $(window).width(); |
|||
windowHeight = $(window).height(); |
|||
maxImageWidth = windowWidth - self.containerPadding.left - self.containerPadding.right - self.imageBorderWidth.left - self.imageBorderWidth.right - 20; |
|||
maxImageHeight = windowHeight - self.containerPadding.top - self.containerPadding.bottom - self.imageBorderWidth.top - self.imageBorderWidth.bottom - 120; |
|||
|
|||
// Check if image size is larger then maxWidth|maxHeight in settings
|
|||
if (self.options.maxWidth && self.options.maxWidth < maxImageWidth) { |
|||
maxImageWidth = self.options.maxWidth; |
|||
} |
|||
if (self.options.maxHeight && self.options.maxHeight < maxImageWidth) { |
|||
maxImageHeight = self.options.maxHeight; |
|||
} |
|||
|
|||
// Is the current image's width or height is greater than the maxImageWidth or maxImageHeight
|
|||
// option than we need to size down while maintaining the aspect ratio.
|
|||
if ((preloader.width > maxImageWidth) || (preloader.height > maxImageHeight)) { |
|||
if ((preloader.width / maxImageWidth) > (preloader.height / maxImageHeight)) { |
|||
imageWidth = maxImageWidth; |
|||
imageHeight = parseInt(preloader.height / (preloader.width / imageWidth), 10); |
|||
$image.width(imageWidth); |
|||
$image.height(imageHeight); |
|||
} else { |
|||
imageHeight = maxImageHeight; |
|||
imageWidth = parseInt(preloader.width / (preloader.height / imageHeight), 10); |
|||
$image.width(imageWidth); |
|||
$image.height(imageHeight); |
|||
} |
|||
} |
|||
} |
|||
self.sizeContainer($image.width(), $image.height()); |
|||
}; |
|||
|
|||
preloader.src = this.album[imageNumber].link; |
|||
this.currentImageIndex = imageNumber; |
|||
}; |
|||
|
|||
// Stretch overlay to fit the viewport
|
|||
Lightbox.prototype.sizeOverlay = function() { |
|||
this.$overlay |
|||
.width($(document).width()) |
|||
.height($(document).height()); |
|||
}; |
|||
|
|||
// Animate the size of the lightbox to fit the image we are showing
|
|||
Lightbox.prototype.sizeContainer = function(imageWidth, imageHeight) { |
|||
var self = this; |
|||
|
|||
var oldWidth = this.$outerContainer.outerWidth(); |
|||
var oldHeight = this.$outerContainer.outerHeight(); |
|||
var newWidth = imageWidth + this.containerPadding.left + this.containerPadding.right + this.imageBorderWidth.left + this.imageBorderWidth.right; |
|||
var newHeight = imageHeight + this.containerPadding.top + this.containerPadding.bottom + this.imageBorderWidth.top + this.imageBorderWidth.bottom; |
|||
|
|||
function postResize() { |
|||
self.$lightbox.find('.lb-dataContainer').width(newWidth); |
|||
self.$lightbox.find('.lb-prevLink').height(newHeight); |
|||
self.$lightbox.find('.lb-nextLink').height(newHeight); |
|||
self.showImage(); |
|||
} |
|||
|
|||
if (oldWidth !== newWidth || oldHeight !== newHeight) { |
|||
this.$outerContainer.animate({ |
|||
width: newWidth, |
|||
height: newHeight |
|||
}, this.options.resizeDuration, 'swing', function() { |
|||
postResize(); |
|||
}); |
|||
} else { |
|||
postResize(); |
|||
} |
|||
}; |
|||
|
|||
// Display the image and its details and begin preload neighboring images.
|
|||
Lightbox.prototype.showImage = function() { |
|||
this.$lightbox.find('.lb-loader').stop(true).hide(); |
|||
this.$lightbox.find('.lb-image').fadeIn(this.options.imageFadeDuration); |
|||
|
|||
this.updateNav(); |
|||
this.updateDetails(); |
|||
this.preloadNeighboringImages(); |
|||
this.enableKeyboardNav(); |
|||
}; |
|||
|
|||
// Display previous and next navigation if appropriate.
|
|||
Lightbox.prototype.updateNav = function() { |
|||
// Check to see if the browser supports touch events. If so, we take the conservative approach
|
|||
// and assume that mouse hover events are not supported and always show prev/next navigation
|
|||
// arrows in image sets.
|
|||
var alwaysShowNav = false; |
|||
try { |
|||
document.createEvent('TouchEvent'); |
|||
alwaysShowNav = (this.options.alwaysShowNavOnTouchDevices) ? true : false; |
|||
} catch (e) {} |
|||
|
|||
this.$lightbox.find('.lb-nav').show(); |
|||
|
|||
if (this.album.length > 1) { |
|||
if (this.options.wrapAround) { |
|||
if (alwaysShowNav) { |
|||
this.$lightbox.find('.lb-prev, .lb-next').css('opacity', '1'); |
|||
} |
|||
this.$lightbox.find('.lb-prev, .lb-next').show(); |
|||
} else { |
|||
if (this.currentImageIndex > 0) { |
|||
this.$lightbox.find('.lb-prev').show(); |
|||
if (alwaysShowNav) { |
|||
this.$lightbox.find('.lb-prev').css('opacity', '1'); |
|||
} |
|||
} |
|||
if (this.currentImageIndex < this.album.length - 1) { |
|||
this.$lightbox.find('.lb-next').show(); |
|||
if (alwaysShowNav) { |
|||
this.$lightbox.find('.lb-next').css('opacity', '1'); |
|||
} |
|||
} |
|||
} |
|||
} |
|||
}; |
|||
|
|||
// Display caption, image number, and closing button.
|
|||
Lightbox.prototype.updateDetails = function() { |
|||
var self = this; |
|||
|
|||
// Enable anchor clicks in the injected caption html.
|
|||
// Thanks Nate Wright for the fix. @https://github.com/NateWr
|
|||
if (typeof this.album[this.currentImageIndex].title !== 'undefined' && |
|||
this.album[this.currentImageIndex].title !== '') { |
|||
var $caption = this.$lightbox.find('.lb-caption'); |
|||
if (this.options.sanitizeTitle) { |
|||
$caption.text(this.album[this.currentImageIndex].title); |
|||
} else { |
|||
$caption.html(this.album[this.currentImageIndex].title); |
|||
} |
|||
$caption.fadeIn('fast') |
|||
.find('a').on('click', function(event) { |
|||
if ($(this).attr('target') !== undefined) { |
|||
window.open($(this).attr('href'), $(this).attr('target')); |
|||
} else { |
|||
location.href = $(this).attr('href'); |
|||
} |
|||
}); |
|||
} |
|||
|
|||
if (this.album.length > 1 && this.options.showImageNumberLabel) { |
|||
var labelText = this.imageCountLabel(this.currentImageIndex + 1, this.album.length); |
|||
this.$lightbox.find('.lb-number').text(labelText).fadeIn('fast'); |
|||
} else { |
|||
this.$lightbox.find('.lb-number').hide(); |
|||
} |
|||
|
|||
this.$outerContainer.removeClass('animating'); |
|||
|
|||
this.$lightbox.find('.lb-dataContainer').fadeIn(this.options.resizeDuration, function() { |
|||
return self.sizeOverlay(); |
|||
}); |
|||
}; |
|||
|
|||
// Preload previous and next images in set.
|
|||
Lightbox.prototype.preloadNeighboringImages = function() { |
|||
if (this.album.length > this.currentImageIndex + 1) { |
|||
var preloadNext = new Image(); |
|||
preloadNext.src = this.album[this.currentImageIndex + 1].link; |
|||
} |
|||
if (this.currentImageIndex > 0) { |
|||
var preloadPrev = new Image(); |
|||
preloadPrev.src = this.album[this.currentImageIndex - 1].link; |
|||
} |
|||
}; |
|||
|
|||
Lightbox.prototype.enableKeyboardNav = function() { |
|||
$(document).on('keyup.keyboard', $.proxy(this.keyboardAction, this)); |
|||
}; |
|||
|
|||
Lightbox.prototype.disableKeyboardNav = function() { |
|||
$(document).off('.keyboard'); |
|||
}; |
|||
|
|||
Lightbox.prototype.keyboardAction = function(event) { |
|||
var KEYCODE_ESC = 27; |
|||
var KEYCODE_LEFTARROW = 37; |
|||
var KEYCODE_RIGHTARROW = 39; |
|||
|
|||
var keycode = event.keyCode; |
|||
var key = String.fromCharCode(keycode).toLowerCase(); |
|||
if (keycode === KEYCODE_ESC || key.match(/x|o|c/)) { |
|||
this.end(); |
|||
} else if (key === 'p' || keycode === KEYCODE_LEFTARROW) { |
|||
if (this.currentImageIndex !== 0) { |
|||
this.changeImage(this.currentImageIndex - 1); |
|||
} else if (this.options.wrapAround && this.album.length > 1) { |
|||
this.changeImage(this.album.length - 1); |
|||
} |
|||
} else if (key === 'n' || keycode === KEYCODE_RIGHTARROW) { |
|||
if (this.currentImageIndex !== this.album.length - 1) { |
|||
this.changeImage(this.currentImageIndex + 1); |
|||
} else if (this.options.wrapAround && this.album.length > 1) { |
|||
this.changeImage(0); |
|||
} |
|||
} |
|||
}; |
|||
|
|||
// Closing time. :-(
|
|||
Lightbox.prototype.end = function() { |
|||
this.disableKeyboardNav(); |
|||
$(window).off('resize', this.sizeOverlay); |
|||
this.$lightbox.fadeOut(this.options.fadeDuration); |
|||
this.$overlay.fadeOut(this.options.fadeDuration); |
|||
$('select, object, embed').css({ |
|||
visibility: 'visible' |
|||
}); |
|||
if (this.options.disableScrolling) { |
|||
$('html').removeClass('lb-disable-scrolling'); |
|||
} |
|||
}; |
|||
|
|||
return new Lightbox(); |
|||
})); |
|||
File diff suppressed because one or more lines are too long
@ -0,0 +1,507 @@ |
|||
/* |
|||
* Portfolio.js v1.0 |
|||
* jQuery Plugin for Portfolio Gallery |
|||
* http://portfoliojs.com
|
|||
* |
|||
* Copyright (c) 2012 Abhinay Omkar (http://abhiomkar.in) @abhiomkar
|
|||
* Licensed under the MIT License: |
|||
* http://www.opensource.org/licenses/mit-license.php
|
|||
* |
|||
* Dependencies |
|||
* - jQuery: http://jquery.com
|
|||
* - jQuery easing: http://gsgd.co.uk/sandbox/jquery/easing
|
|||
* - jQuery touch swipe: http://labs.skinkers.com/touchSwipe
|
|||
* - jQuery imagesLoaded: http://desandro.github.com/imagesloaded
|
|||
* - jQuery scrollTo: http://flesler.blogspot.in/2007/10/jqueryscrollto.html
|
|||
* - JS Spin: http://fgnass.github.com/spin.js
|
|||
|
|||
* */ |
|||
|
|||
;(function($) { |
|||
|
|||
$.fn.portfolio = function(settings) { |
|||
|
|||
// default values
|
|||
var defaults = { |
|||
autoplay: false, |
|||
firstLoadCount: 4, |
|||
enableKeyboardNavigation: true, |
|||
loop: false, |
|||
easingMethod: 'easeOutQuint', |
|||
height: '500px', |
|||
width: '100%', |
|||
lightbox: false, |
|||
showArrows: true, |
|||
logger: true |
|||
}; |
|||
|
|||
// overriding default values
|
|||
$.extend(this, defaults, settings); |
|||
|
|||
// Local variables
|
|||
var portfolio = this, gallery = this, |
|||
currentViewingImage, |
|||
totalLoaded = 0, |
|||
offset_left = 6, |
|||
imageLoadedCalled = false; |
|||
|
|||
// portfolio public methods
|
|||
$.extend(this, { |
|||
version: "0.1v", |
|||
init: function() { |
|||
|
|||
portfolio.scrollToOptions={axis: 'x', easing: portfolio.easingMethod, offset: -4} |
|||
|
|||
// Responsive for Mobile
|
|||
if ($(window).width() <= 700) { |
|||
// if mobile, reduce the gallery height to fit on screen
|
|||
// 200px fixed height is good enough?
|
|||
|
|||
// override gallery height
|
|||
portfolio.height = '200px'; |
|||
} |
|||
|
|||
// CSS Base
|
|||
$(this).css({ |
|||
width: portfolio.width, |
|||
'max-height': portfolio.height, |
|||
'overflow-x': 'scroll', |
|||
'overflow-y': 'hidden', |
|||
'white-space': 'nowrap' |
|||
}); |
|||
|
|||
$(this).find('img').css({ |
|||
display: 'inline-block', |
|||
'max-width': 'none', |
|||
height: portfolio.height, |
|||
width: 'auto' |
|||
}); |
|||
|
|||
|
|||
$(this).find("img").css('display', 'none'); |
|||
// end
|
|||
|
|||
// set all images element attribute loaded to false and hide, bcoz the
|
|||
// game is not yet started :)
|
|||
$(this).find("img").attr('loaded', 'false'); |
|||
// end
|
|||
|
|||
// mark first & last images
|
|||
$(this).find("img").first().attr('first', 'true').css({'margin-left': '5px'}); |
|||
$(this).find("img").last().attr('last', 'true').css({'margin-right': '6px'}); |
|||
// end
|
|||
|
|||
// spinner
|
|||
// show spinner while the images are being loaded...
|
|||
portfolio.spinner.show('100%'); |
|||
|
|||
// load first 4 images
|
|||
portfolio.loadNextImages(portfolio.firstLoadCount); |
|||
|
|||
// First Image
|
|||
$(this).find("img").first().addClass('active'); |
|||
|
|||
if (portfolio.lightbox) { |
|||
$(gallery).find('img').not('.active').animate({opacity: '0.2'}); |
|||
$(gallery).find('img.active').animate({opacity: '1'}); |
|||
$(gallery).css({ 'overflow-x': 'hidden' }); |
|||
} |
|||
|
|||
// Show Arrows
|
|||
if (portfolio.showArrows) { |
|||
portfolio.navigation.show(); |
|||
} |
|||
|
|||
// add a 5px space at the end
|
|||
$('.gallery-blank-space').css({ |
|||
position: 'absolute', |
|||
width: '5px', |
|||
height: portfolio.height, |
|||
}); |
|||
|
|||
// Events
|
|||
|
|||
/* Swipe Left */ |
|||
$(this).swipe( { |
|||
swipeLeft: function() { |
|||
portfolio.next(); |
|||
}, |
|||
swipeRight: function() { |
|||
portfolio.prev(); |
|||
} |
|||
}); |
|||
|
|||
$(this).find('img').on('movestart', function(e) { |
|||
console_.log('movestart'); |
|||
if ((e.distX > e.distY && e.distX < -e.distY) || |
|||
(e.distX < e.distY && e.distX > -e.distY)) { |
|||
e.preventDefault(); |
|||
// TODO: touchstart? the gallery should follow the
|
|||
// finger on touchstart
|
|||
} |
|||
}); |
|||
|
|||
/* Click */ |
|||
$(this).find("img").click(function(event) { |
|||
|
|||
if ($(gallery).find('img.active')[0] === $(this)[0]) { |
|||
// If clicked on the current viewing image
|
|||
// then scroll to next image
|
|||
portfolio.next(); |
|||
|
|||
} |
|||
else { |
|||
// clicked on the next image or particular image, scroll to that image
|
|||
portfolio.slideTo($(this)); |
|||
} |
|||
}); // click()
|
|||
|
|||
// Gallery Scroll
|
|||
$(this).scroll(function() { |
|||
if ($(gallery).find('img').last().attr('loaded') === 'true') { |
|||
$('.gallery-blank-space').css({left: $(gallery).find('img').last().data('offset-left') + $(gallery).find('img').last().width() + 'px'}); |
|||
} |
|||
|
|||
// if (gallery[0].offsetWidth + gallery.scrollLeft() >= gallery[0].scrollWidth) // scroll end condition
|
|||
|
|||
// scroll amount is greater than 60%
|
|||
if ((gallery[0].offsetWidth + gallery.scrollLeft())*100 / gallery[0].scrollWidth > 60) { |
|||
|
|||
if (totalLoaded < $(gallery).find('img').length) { |
|||
console_.log('scroll(): loading some more images'); |
|||
portfolio.loadNextImages(6); |
|||
// $(gallery).find('img[loaded=true]').last().addClass('ctive');
|
|||
|
|||
} |
|||
} |
|||
}); |
|||
|
|||
// Window Resize
|
|||
$(window).resize(function() { |
|||
if ($(window).width() <= 700 && $(gallery).find('img').first().height()!==200) { |
|||
$(gallery).css({height: '200px'}); |
|||
$(gallery).find('img').css({height: '200px'}); |
|||
$(gallery).find('.gallery-arrow-left, .gallery-arrow-right').css({height: '200px'}); |
|||
} |
|||
else if ($(window).width() > 700 && $(gallery).find('img').first().height()===200) { |
|||
$(gallery).css({height: portfolio.height}); |
|||
$(gallery).find('img').css({height: portfolio.height}); |
|||
$(gallery).find('.gallery-arrow-left, .gallery-arrow-right').css({height: portfolio.height}); |
|||
} |
|||
}); |
|||
|
|||
}, // init
|
|||
|
|||
next: function() { |
|||
|
|||
var cur_img = $(gallery).find('img.active'), |
|||
next_img = $(gallery).find('img.active').next(); |
|||
|
|||
if($(cur_img).attr('last') === 'true') { |
|||
|
|||
// if on last image and if loop is on
|
|||
if(portfolio.loop) { |
|||
// go to first image
|
|||
console_.log('last', 'loop: on'); |
|||
|
|||
$(gallery).scrollTo(0, 500, portfolio.scrollToOptions); |
|||
|
|||
$(gallery).find('img').removeClass('active').first().addClass('active'); |
|||
|
|||
if (portfolio.lightbox) { |
|||
$(gallery).find('img').not('.active').animate({opacity: '0.2'}); |
|||
$(gallery).find('img.active').animate({opacity: '1'}); |
|||
} |
|||
} |
|||
else { |
|||
console_.log('last', 'loop: off'); |
|||
} |
|||
} |
|||
|
|||
// if next image is already loaded
|
|||
else if ($(next_img).attr('loaded') === 'true') { |
|||
// go to next image
|
|||
$(gallery).scrollTo(next_img, 600, portfolio.scrollToOptions); |
|||
|
|||
$(gallery).find('img').removeClass('active'); |
|||
$(next_img).addClass('active'); |
|||
|
|||
if (portfolio.lightbox) { |
|||
$(gallery).find('img').not('.active').animate({opacity: '0.2'}); |
|||
$(gallery).find('img.active').animate({opacity: '1'}); |
|||
} |
|||
|
|||
} |
|||
// if next image is not yet loaded
|
|||
else if ($(next_img).attr('loaded') === 'false') { |
|||
// show the spinner and prepare to load next images
|
|||
console_.log('next images are being loaded...'); |
|||
} |
|||
|
|||
/* |
|||
if (gallery.offsetWidth + gallery.scrollLeft >= gallery.scrollWidth) { |
|||
console_.log('scrollEnd'); |
|||
var spinner_target = $(currentViewingImage).after('<span class="spinner-container"></span>'); |
|||
$(gallery).scrollTo($(currentViewingImage).data("offset-left") + 100, 500, {axis: 'x'}); |
|||
portfolio.spinner(spinner_target); |
|||
} |
|||
*/ |
|||
console_.log('next: current viewing image', $(gallery).find('img.active')); |
|||
}, |
|||
|
|||
prev: function() { |
|||
var cur_img = $(gallery).find('img.active'), |
|||
prev_img = $(gallery).find('img.active').prev(); |
|||
|
|||
if($(cur_img).attr('first') === 'true') { |
|||
// If on first Image stay there, do not scroll
|
|||
} |
|||
else if (prev_img){ |
|||
// go to prev image
|
|||
$(gallery).scrollTo(prev_img, 500, portfolio.scrollToOptions); |
|||
|
|||
$(gallery).find('img').removeClass('active'); |
|||
$(prev_img).addClass('active'); |
|||
|
|||
if (portfolio.lightbox) { |
|||
$(gallery).find('img').not('.active').animate({opacity: '0.2'}); |
|||
$(gallery).find('img.active').animate({opacity: '1'}); |
|||
} |
|||
} |
|||
|
|||
console_.log('prev: current viewing image', $(gallery).find('img.active')); |
|||
}, |
|||
|
|||
slideTo: function(img) { |
|||
|
|||
$(gallery).scrollTo(img, 500, portfolio.scrollToOptions); |
|||
|
|||
$(gallery).find('img').removeClass('active'); |
|||
$(img).addClass('active'); |
|||
|
|||
if (portfolio.lightbox) { |
|||
$(gallery).find('img').not('.active').animate({opacity: '0.2'}); |
|||
$(gallery).find('img.active').animate({opacity: '1'}); |
|||
} |
|||
|
|||
}, |
|||
|
|||
spinner: { |
|||
remove: function() { |
|||
$(gallery).find('.spinner-container').remove(); |
|||
}, |
|||
|
|||
show: function(width) { |
|||
// Spinner
|
|||
portfolio.spinner.remove(); |
|||
|
|||
var lastImg = $(gallery).find('img[loaded=true]').last(); |
|||
$(gallery).append('<span class="spinner-container"></span>'); |
|||
$(gallery).find('.spinner-container').css({ |
|||
display: 'inline-block', |
|||
height: portfolio.height, |
|||
width: width, |
|||
'vertical-align': 'top' |
|||
}); |
|||
|
|||
var opts = { |
|||
lines: 17, // The number of lines to draw
|
|||
length: 4, // The length of each line
|
|||
width: 2, // The line thickness
|
|||
radius: 5, // The radius of the inner circle
|
|||
corners: 1, // Corner roundness (0..1)
|
|||
rotate: 0, // The rotation offset
|
|||
color: '#000', // #rgb or #rrggbb
|
|||
speed: 1.5, // Rounds per second
|
|||
trail: 72, // Afterglow percentage
|
|||
shadow: false, // Whether to render a shadow
|
|||
hwaccel: false, // Whether to use hardware acceleration
|
|||
className: 'spinner', // The CSS class to assign to the spinner
|
|||
zIndex: 2e9, // The z-index (defaults to 2000000000)
|
|||
top: parseInt(portfolio.height)/2, // Top position relative to parent in px
|
|||
left: 'auto' // Left position relative to parent in px
|
|||
}; |
|||
|
|||
var spinner = new Spinner(opts).spin($(gallery).find('.spinner-container')[0]); |
|||
} |
|||
}, |
|||
|
|||
loadNextImages: function(count) { |
|||
// console_.log('loading...', totalLoaded, count, $(gallery).find(".photo img").slice(totalLoaded, totalLoaded + count));
|
|||
|
|||
if (!imageLoadedCalled) { |
|||
var nextImages; |
|||
|
|||
// load first few pictures - gallery init
|
|||
nextImages = $(gallery).find("img[loaded=false]").slice(0, count); |
|||
$(nextImages).each(function(index) { |
|||
// current img element
|
|||
var cur_img = this; |
|||
|
|||
cur_img.src = $(cur_img).data('src'); |
|||
$(cur_img).attr('loaded', 'loading'); |
|||
}); // each()
|
|||
|
|||
// .imagesLoaded callback on images having src attribute but not loaded yet
|
|||
// on otherwords, filter only loading images
|
|||
$(nextImages).imagesLoaded(function($img_loaded){ |
|||
|
|||
console_.log('images loaded:'); |
|||
console_.log($img_loaded); |
|||
$img_loaded.each(function(index) { |
|||
var img = this; |
|||
|
|||
// Inorder to fadeIn effect to work, make the new
|
|||
// img element invisible by 'display: none'
|
|||
$(img).css({display: 'none'}); |
|||
portfolio.spinner.remove(); |
|||
$(img).fadeIn('slow'); |
|||
|
|||
img_width = $(img).width(); |
|||
|
|||
totalLoaded += 1; |
|||
|
|||
$(img).data('width', img_width); |
|||
$(img).attr('loaded', 'true'); |
|||
|
|||
}); // each()
|
|||
|
|||
portfolio.spinner.show('100px'); |
|||
imageLoadedCalled = false; |
|||
|
|||
// loaded all images
|
|||
if (totalLoaded === $(gallery).find('img').length) { |
|||
portfolio.spinner.remove(); |
|||
} |
|||
else if (gallery[0].offsetWidth === gallery[0].scrollWidth) { |
|||
// if the first loaded images doesn't fill the
|
|||
// offsetWidth of gallery then load some more images
|
|||
portfolio.loadNextImages(6); |
|||
} |
|||
|
|||
}); // imagesLoaded()
|
|||
|
|||
imageLoadedCalled = true; |
|||
} // if(!imageLoadedCalled)
|
|||
|
|||
}, // loadNextImages
|
|||
navigation: { |
|||
show: function() { |
|||
if (portfolio.navigation.created) { |
|||
// arrows already exists, do not create again
|
|||
$('.gallery-arrow-left, .gallery-arrow-right').show(); |
|||
$('.gallery-arrow-left, .gallery-arrow-right').delay(6000).fadeOut(); |
|||
} |
|||
else { |
|||
// create arrows
|
|||
$(gallery).before('<span class="gallery-arrow-left"></span>').after('<span class="gallery-arrow-right"></span>'); |
|||
$(gallery).prev('.gallery-arrow-left').css({ |
|||
position: 'absolute', |
|||
left: '8px', |
|||
height: portfolio.height, |
|||
width: '50px', |
|||
'z-index': '9999', |
|||
// inline image for arrow-left
|
|||
background: "url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAeCAYAAAAl+Z4RAAAD8GlDQ1BJQ0MgUHJvZmlsZQAAKJGNVd1v21QUP4lvXKQWP6Cxjg4Vi69VU1u5GxqtxgZJk6XpQhq5zdgqpMl1bhpT1za2021Vn/YCbwz4A4CyBx6QeEIaDMT2su0BtElTQRXVJKQ9dNpAaJP2gqpwrq9Tu13GuJGvfznndz7v0TVAx1ea45hJGWDe8l01n5GPn5iWO1YhCc9BJ/RAp6Z7TrpcLgIuxoVH1sNfIcHeNwfa6/9zdVappwMknkJsVz19HvFpgJSpO64PIN5G+fAp30Hc8TziHS4miFhheJbjLMMzHB8POFPqKGKWi6TXtSriJcT9MzH5bAzzHIK1I08t6hq6zHpRdu2aYdJYuk9Q/881bzZa8Xrx6fLmJo/iu4/VXnfH1BB/rmu5ScQvI77m+BkmfxXxvcZcJY14L0DymZp7pML5yTcW61PvIN6JuGr4halQvmjNlCa4bXJ5zj6qhpxrujeKPYMXEd+q00KR5yNAlWZzrF+Ie+uNsdC/MO4tTOZafhbroyXuR3Df08bLiHsQf+ja6gTPWVimZl7l/oUrjl8OcxDWLbNU5D6JRL2gxkDu16fGuC054OMhclsyXTOOFEL+kmMGs4i5kfNuQ62EnBuam8tzP+Q+tSqhz9SuqpZlvR1EfBiOJTSgYMMM7jpYsAEyqJCHDL4dcFFTAwNMlFDUUpQYiadhDmXteeWAw3HEmA2s15k1RmnP4RHuhBybdBOF7MfnICmSQ2SYjIBM3iRvkcMki9IRcnDTthyLz2Ld2fTzPjTQK+Mdg8y5nkZfFO+se9LQr3/09xZr+5GcaSufeAfAww60mAPx+q8u/bAr8rFCLrx7s+vqEkw8qb+p26n11Aruq6m1iJH6PbWGv1VIY25mkNE8PkaQhxfLIF7DZXx80HD/A3l2jLclYs061xNpWCfoB6WHJTjbH0mV35Q/lRXlC+W8cndbl9t2SfhU+Fb4UfhO+F74GWThknBZ+Em4InwjXIyd1ePnY/Psg3pb1TJNu15TMKWMtFt6ScpKL0ivSMXIn9QtDUlj0h7U7N48t3i8eC0GnMC91dX2sTivgloDTgUVeEGHLTizbf5Da9JLhkhh29QOs1luMcScmBXTIIt7xRFxSBxnuJWfuAd1I7jntkyd/pgKaIwVr3MgmDo2q8x6IdB5QH162mcX7ajtnHGN2bov71OU1+U0fqqoXLD0wX5ZM005UHmySz3qLtDqILDvIL+iH6jB9y2x83ok898GOPQX3lk3Itl0A+BrD6D7tUjWh3fis58BXDigN9yF8M5PJH4B8Gr79/F/XRm8m241mw/wvur4BGDj42bzn+Vmc+NL9L8GcMn8F1kAcXjEKMJAAAAACXBIWXMAAAsTAAALEwEAmpwYAAABcWlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iWE1QIENvcmUgNC40LjAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iPgogICAgICAgICA8eG1wOkNyZWF0b3JUb29sPkFkb2JlIFBob3Rvc2hvcCBDUzUgTWFjaW50b3NoPC94bXA6Q3JlYXRvclRvb2w+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgokyTgyAAAAu0lEQVQ4jaXSMQrCMBSH8b/g6BrIkQRHj+MlPIXn8AgiFJy8gZuLg3wONlBCk7yXBDo05fvBS7oB1Ll2kt7bzjhKukq6CPA+EZj4r8dIPAFxKAY0FFuBYmwBQi1uAc24BpjiEpDHoTbmUJwD7ngJBODujRMQgGdPnIDbHL+8cQKOwHdGzj2AgD3w6UGWL11IvuFG1jZdSOmDGanpJqQ1YxOxnHQVsd53EfH8dauIB1hFvECOHHqAhJwA/QAJKY1JWPloGgAAAABJRU5ErkJggg==) center left no-repeat", |
|||
'background-position': '8px', |
|||
opacity: '0.5' |
|||
}); |
|||
$(gallery).next('.gallery-arrow-right').css({ |
|||
position: 'absolute', |
|||
right: '0', |
|||
top: $(gallery).position().top, |
|||
height: portfolio.height, |
|||
width: '50px', |
|||
'z-index': '9999', |
|||
// inline image for arrow-right
|
|||
background: "url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAdCAYAAABMr4eBAAAD8GlDQ1BJQ0MgUHJvZmlsZQAAKJGNVd1v21QUP4lvXKQWP6Cxjg4Vi69VU1u5GxqtxgZJk6XpQhq5zdgqpMl1bhpT1za2021Vn/YCbwz4A4CyBx6QeEIaDMT2su0BtElTQRXVJKQ9dNpAaJP2gqpwrq9Tu13GuJGvfznndz7v0TVAx1ea45hJGWDe8l01n5GPn5iWO1YhCc9BJ/RAp6Z7TrpcLgIuxoVH1sNfIcHeNwfa6/9zdVappwMknkJsVz19HvFpgJSpO64PIN5G+fAp30Hc8TziHS4miFhheJbjLMMzHB8POFPqKGKWi6TXtSriJcT9MzH5bAzzHIK1I08t6hq6zHpRdu2aYdJYuk9Q/881bzZa8Xrx6fLmJo/iu4/VXnfH1BB/rmu5ScQvI77m+BkmfxXxvcZcJY14L0DymZp7pML5yTcW61PvIN6JuGr4halQvmjNlCa4bXJ5zj6qhpxrujeKPYMXEd+q00KR5yNAlWZzrF+Ie+uNsdC/MO4tTOZafhbroyXuR3Df08bLiHsQf+ja6gTPWVimZl7l/oUrjl8OcxDWLbNU5D6JRL2gxkDu16fGuC054OMhclsyXTOOFEL+kmMGs4i5kfNuQ62EnBuam8tzP+Q+tSqhz9SuqpZlvR1EfBiOJTSgYMMM7jpYsAEyqJCHDL4dcFFTAwNMlFDUUpQYiadhDmXteeWAw3HEmA2s15k1RmnP4RHuhBybdBOF7MfnICmSQ2SYjIBM3iRvkcMki9IRcnDTthyLz2Ld2fTzPjTQK+Mdg8y5nkZfFO+se9LQr3/09xZr+5GcaSufeAfAww60mAPx+q8u/bAr8rFCLrx7s+vqEkw8qb+p26n11Aruq6m1iJH6PbWGv1VIY25mkNE8PkaQhxfLIF7DZXx80HD/A3l2jLclYs061xNpWCfoB6WHJTjbH0mV35Q/lRXlC+W8cndbl9t2SfhU+Fb4UfhO+F74GWThknBZ+Em4InwjXIyd1ePnY/Psg3pb1TJNu15TMKWMtFt6ScpKL0ivSMXIn9QtDUlj0h7U7N48t3i8eC0GnMC91dX2sTivgloDTgUVeEGHLTizbf5Da9JLhkhh29QOs1luMcScmBXTIIt7xRFxSBxnuJWfuAd1I7jntkyd/pgKaIwVr3MgmDo2q8x6IdB5QH162mcX7ajtnHGN2bov71OU1+U0fqqoXLD0wX5ZM005UHmySz3qLtDqILDvIL+iH6jB9y2x83ok898GOPQX3lk3Itl0A+BrD6D7tUjWh3fis58BXDigN9yF8M5PJH4B8Gr79/F/XRm8m241mw/wvur4BGDj42bzn+Vmc+NL9L8GcMn8F1kAcXjEKMJAAAAACXBIWXMAAAsTAAALEwEAmpwYAAABcWlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iWE1QIENvcmUgNC40LjAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iPgogICAgICAgICA8eG1wOkNyZWF0b3JUb29sPkFkb2JlIFBob3Rvc2hvcCBDUzUgTWFjaW50b3NoPC94bXA6Q3JlYXRvclRvb2w+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgokyTgyAAAAtUlEQVQ4jaXSPwpCMQzH8Z+7k1DokQRHj+PkDbyag/Am7+EgXwcrPGr/JHmBQpPChzREgIAr8AByyV1HwB5Y+EYI+l3yFmid5AK4oboQglpFN9R7qKEUQVzQ7L8myDL9KWTdhTSCPJvZhTxIF/IiNfQE0g5QIJKkRdJB0j3SiYBb6eQNnLcAL+AYmckf4EWagAfpAlZkCFiQKTBDTMAIMQM9xAW0EDdQIyFgjZyiQN3JJQIA+gCnB9712qNsuAAAAABJRU5ErkJggg==) center left no-repeat", |
|||
'background-position': '8px', |
|||
opacity: '0.5' |
|||
}); |
|||
|
|||
$(gallery).prev('.gallery-arrow-left').click(function(e) { |
|||
portfolio.prev(); |
|||
}); |
|||
|
|||
$(gallery).next('.gallery-arrow-right').click(function(e) { |
|||
portfolio.next(); |
|||
}); |
|||
|
|||
$('.gallery-arrow-left, .gallery-arrow-right').hover(function(){ |
|||
// Mouse In
|
|||
$(this).css({ 'opacity': '1' }); |
|||
}, |
|||
function() { |
|||
// Mouse Out
|
|||
$(this).css({ 'opacity': '0.5' }); |
|||
}); // hover()
|
|||
|
|||
$(gallery).mousemove(function(){ |
|||
portfolio.navigation.show(); |
|||
}); |
|||
|
|||
$('.gallery-arrow-left, .gallery-arrow-right').delay(6000).fadeOut(); |
|||
portfolio.navigation.created = true; |
|||
|
|||
} // if.. else..
|
|||
}, // show()
|
|||
|
|||
hide: function() { |
|||
$('.gallery-arrow-left, .gallery-arrow-right').fadeOut(); |
|||
}, // hide()
|
|||
created: false |
|||
} // navigation
|
|||
}); // extend()
|
|||
|
|||
// keyboard navigation
|
|||
if (this.enableKeyboardNavigation) { |
|||
$(document).keydown(function(e) { |
|||
var key = e.charCode ? e.charCode : e.keyCode ? e.keyCode : 0; |
|||
switch(key) { |
|||
case 73: // 'i' key
|
|||
// go to first slide
|
|||
portfolio.slideTo($(gallery).find('img').first()); |
|||
break; |
|||
case 65: // 'a' key
|
|||
// go to last slide
|
|||
portfolio.slideTo($(gallery).find('img').last()); |
|||
break; |
|||
|
|||
case 75: // 'k' key
|
|||
case 37: // left arrow
|
|||
portfolio.navigation.hide(); |
|||
portfolio.prev(); |
|||
e.preventDefault(); |
|||
break; |
|||
// case 74: // 'j' key
|
|||
case 39: // right arrow
|
|||
portfolio.navigation.hide(); |
|||
portfolio.next(); |
|||
e.preventDefault(); |
|||
break; |
|||
} |
|||
}); |
|||
} // keyboard shortcuts
|
|||
|
|||
// logger
|
|||
var console_ = { |
|||
log: function() { |
|||
if (this.active) { |
|||
// var l = [];
|
|||
for (var i=0, len=arguments.length; i < len; i++) { |
|||
// l.push(arguments[i]);
|
|||
console.log(arguments[i]); |
|||
} |
|||
// console.log(l.join(' '));
|
|||
} |
|||
}, |
|||
active: portfolio.logger |
|||
} // console_
|
|||
|
|||
return this; |
|||
} // $.fn.portfolio
|
|||
|
|||
// TODO
|
|||
// handle keyboard shortcuts in a smart way when multiple galleries are used
|
|||
|
|||
})(jQuery); |
|||
@ -0,0 +1,126 @@ |
|||
/*******五大行情开始移动效果***********/ |
|||
$(function(){ |
|||
$(".shadow").hover(function(){ |
|||
$(this).css({'boxShadow':'0 3px 3px 3px #edebed'}); |
|||
},function(){ |
|||
$(this).css({'boxShadow':''}); |
|||
}); |
|||
}) |
|||
/*******市场数据/文化产业板/掌柜文化金服三大板块效果***********/ |
|||
function addmenuClass(t){ |
|||
$(t).addClass("datamenuactive").siblings().removeClass("datamenuactive"); |
|||
} |
|||
|
|||
/*******文化产业板/国有资产/掌柜文化金服三大板块效果***********/ |
|||
function whcyb(t){ |
|||
$(t).addClass("dataserviceactive").siblings().removeClass("dataserviceactive"); |
|||
var index = $("#whcyb_data .dataservice .dataservicemenu").index(t); |
|||
$("#whcyb_data .dataservicecon").hide().eq(index).show() |
|||
} |
|||
function whcyb_type(t){ |
|||
$(t).addClass("fistmanuactive").siblings().removeClass("fistmanuactive"); |
|||
$("#whcyb").find(".servicemenu").hide().eq($(t).parent().find(".fistmenumode").index(t)).show(); |
|||
|
|||
} |
|||
function whcyb_data(t){ |
|||
$(t).addClass("activemenutitle").siblings().removeClass("activemenutitle"); |
|||
|
|||
} |
|||
/********文化企业上市公会小板块效果**********/ |
|||
function addsmallClass(t){ |
|||
$(t).addClass("activemenutitle").siblings().removeClass("activemenutitle"); |
|||
} |
|||
/******新闻资讯menu效果************/ |
|||
function addnewsClass(t){ |
|||
$(t).addClass("newsrightactive").siblings().removeClass("newsrightactive"); |
|||
} |
|||
/*********文化金服效果*********/ |
|||
function addserceClass(t){ |
|||
$(t).addClass("activemenu").siblings().removeClass("activemenu"); |
|||
} |
|||
/********掌柜艺拍效果**********/ |
|||
function addshopkeeper(t){ |
|||
$(t).addClass("newsrightactive").siblings().removeClass("newsrightactive"); |
|||
} |
|||
/********政策列表方法**********/ |
|||
function adddivbg(t){ |
|||
t.style.backgroundColor="#F5F5F5"; |
|||
$(t).find('.centettitle').css('color','rgba(235,76,18,1)'); |
|||
} |
|||
function removedivbg(t){ |
|||
t.style.backgroundColor=""; |
|||
$(t).find('.centettitle').css('color','rgba(27,26,53,1)'); |
|||
} |
|||
/********个人中心我的挂牌**********/ |
|||
function addlisted(t){ |
|||
t.style.backgroundColor="#F5F5F5"; |
|||
} |
|||
function removelisted(t){ |
|||
t.style.backgroundColor=""; |
|||
} |
|||
/*********走进本所menu特效*********/ |
|||
function addIntmenu(t){ |
|||
$(t).addClass("modeleftmenuactive").siblings().removeClass("modeleftmenuactive"); |
|||
} |
|||
|
|||
/*******有疑问,请点我***********/ |
|||
function doubtotton(){ |
|||
$("#doubtwin").show('slow'); |
|||
$('#doubtotton').hide(); |
|||
} |
|||
function doubtwin(){ |
|||
$("#doubtotton").show('slow'); |
|||
$('#doubtwin').hide(); |
|||
} |
|||
|
|||
function addwinClass(t){ |
|||
$(t).addClass("winactive").siblings().removeClass("winactive"); |
|||
} |
|||
function addnews2Class(t){ |
|||
t.style.color="rgba(240,60,24,1)"; |
|||
} |
|||
function removebews2Class(t){ |
|||
t.style.color="rgba(51,51,51,1)"; |
|||
} |
|||
|
|||
function addnews3Class(t){ |
|||
$(t).addClass('newsactive2'); |
|||
} |
|||
|
|||
function removenews3Class(t){ |
|||
$(t).removeClass('newsactive2'); |
|||
} |
|||
|
|||
function checkCardNo(cardType,value){ |
|||
if(cardType==1){//身份证
|
|||
var re = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/; |
|||
return re.test(value); |
|||
}else if(cardType==2){//护照
|
|||
return true; |
|||
}else if(cardType==3){//军官证
|
|||
return true; |
|||
}else if(cardType==4){//港澳通行证
|
|||
return true; |
|||
}else if(cardType==5){//台同胞
|
|||
return true; |
|||
} |
|||
} |
|||
function changeCardType(cardType,id){ |
|||
var reg = ''; |
|||
if(cardType==1){//身份证
|
|||
reg = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/; |
|||
$("#"+id).attr("pattern",reg); |
|||
}else if(cardType==2){//护照
|
|||
$("#"+id).removeAttr("pattern"); |
|||
}else if(cardType==3){//军官证
|
|||
$("#"+id).removeAttr("pattern"); |
|||
}else if(cardType==4){//港澳通行证
|
|||
$("#"+id).removeAttr("pattern"); |
|||
}else if(cardType==5){//台同胞
|
|||
$("#"+id).removeAttr("pattern"); |
|||
} |
|||
} |
|||
function checkHTMLTag(value){ |
|||
var reg = /[<]+[a-zA-Z]*[>]*|[<]*[a-zA-Z]*[>]+/; |
|||
return reg.test(value); |
|||
} |
|||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -0,0 +1,11 @@ |
|||
.Wdate{ |
|||
border:#999 1px solid; |
|||
height:20px; |
|||
background:#fff url(datePicker.gif) no-repeat right; |
|||
} |
|||
.Wdate::-ms-clear{display:none;} |
|||
|
|||
.WdateFmtErr{ |
|||
font-weight:bold; |
|||
color:red; |
|||
} |
|||
|
After Width: | Height: | Size: 1.0 KiB |
@ -0,0 +1,246 @@ |
|||
/* |
|||
* My97 DatePicker 4.8 |
|||
*/ |
|||
|
|||
.WdateDiv{ |
|||
width:180px; |
|||
background-color:#FFFFFF; |
|||
border:#bbb 1px solid; |
|||
padding:2px; |
|||
} |
|||
|
|||
.WdateDiv2{ |
|||
width:360px; |
|||
} |
|||
.WdateDiv *{font-size:9pt;} |
|||
|
|||
.WdateDiv .NavImg a{ |
|||
display:block; |
|||
cursor:pointer; |
|||
height:16px; |
|||
width:16px; |
|||
} |
|||
|
|||
.WdateDiv .NavImgll a{ |
|||
float:left; |
|||
background:transparent url(img.gif) no-repeat scroll 0 0; |
|||
} |
|||
.WdateDiv .NavImgl a{ |
|||
float:left; |
|||
background:transparent url(img.gif) no-repeat scroll -16px 0; |
|||
} |
|||
.WdateDiv .NavImgr a{ |
|||
float:right; |
|||
background:transparent url(img.gif) no-repeat scroll -32px 0; |
|||
} |
|||
.WdateDiv .NavImgrr a{ |
|||
float:right; |
|||
background:transparent url(img.gif) no-repeat scroll -48px 0; |
|||
} |
|||
|
|||
.WdateDiv #dpTitle{ |
|||
height:24px; |
|||
margin-bottom:2px; |
|||
padding:1px; |
|||
} |
|||
|
|||
.WdateDiv .yminput{ |
|||
margin-top:2px; |
|||
text-align:center; |
|||
height:20px; |
|||
border:0px; |
|||
width:50px; |
|||
cursor:pointer; |
|||
} |
|||
|
|||
.WdateDiv .yminputfocus{ |
|||
margin-top:2px; |
|||
text-align:center; |
|||
font-weight:bold; |
|||
height:20px; |
|||
color:blue; |
|||
border:#ccc 1px solid; |
|||
width:50px; |
|||
} |
|||
|
|||
.WdateDiv .menuSel{ |
|||
z-index:1; |
|||
position:absolute; |
|||
background-color:#FFFFFF; |
|||
border:#ccc 1px solid; |
|||
display:none; |
|||
} |
|||
|
|||
.WdateDiv .menu{ |
|||
cursor:pointer; |
|||
background-color:#fff; |
|||
} |
|||
|
|||
.WdateDiv .menuOn{ |
|||
cursor:pointer; |
|||
background-color:#BEEBEE; |
|||
} |
|||
|
|||
.WdateDiv .invalidMenu{ |
|||
color:#aaa; |
|||
} |
|||
|
|||
.WdateDiv .YMenu{ |
|||
margin-top:20px; |
|||
|
|||
} |
|||
|
|||
.WdateDiv .MMenu{ |
|||
margin-top:20px; |
|||
*width:62px; |
|||
} |
|||
|
|||
.WdateDiv .hhMenu{ |
|||
margin-top:-90px; |
|||
margin-left:26px; |
|||
} |
|||
|
|||
.WdateDiv .mmMenu{ |
|||
margin-top:-46px; |
|||
margin-left:26px; |
|||
} |
|||
|
|||
.WdateDiv .ssMenu{ |
|||
margin-top:-24px; |
|||
margin-left:26px; |
|||
} |
|||
|
|||
.WdateDiv .Wweek { |
|||
text-align:center; |
|||
background:#DAF3F5; |
|||
border-right:#BDEBEE 1px solid; |
|||
} |
|||
|
|||
.WdateDiv .MTitle{ |
|||
background-color:#BDEBEE; |
|||
} |
|||
.WdateDiv .WdayTable2{ |
|||
border-collapse:collapse; |
|||
border:#c5d9e8 1px solid; |
|||
} |
|||
.WdateDiv .WdayTable2 table{ |
|||
border:0; |
|||
} |
|||
|
|||
.WdateDiv .WdayTable{ |
|||
line-height:20px; |
|||
border:#c5d9e8 1px solid; |
|||
} |
|||
.WdateDiv .WdayTable td{ |
|||
text-align:center; |
|||
} |
|||
|
|||
.WdateDiv .Wday{ |
|||
cursor:pointer; |
|||
} |
|||
|
|||
.WdateDiv .WdayOn{ |
|||
cursor:pointer; |
|||
background-color:#C0EBEF; |
|||
} |
|||
|
|||
.WdateDiv .Wwday{ |
|||
cursor:pointer; |
|||
color:#FF2F2F; |
|||
} |
|||
|
|||
.WdateDiv .WwdayOn{ |
|||
cursor:pointer; |
|||
color:#000; |
|||
background-color:#C0EBEF; |
|||
} |
|||
.WdateDiv .Wtoday{ |
|||
cursor:pointer; |
|||
color:blue; |
|||
} |
|||
.WdateDiv .Wselday{ |
|||
background-color:#A9E4E9; |
|||
} |
|||
.WdateDiv .WspecialDay{ |
|||
background-color:#66F4DF; |
|||
} |
|||
|
|||
.WdateDiv .WotherDay{ |
|||
cursor:pointer; |
|||
color:#6A6AFF; |
|||
} |
|||
|
|||
.WdateDiv .WotherDayOn{ |
|||
cursor:pointer; |
|||
background-color:#C0EBEF; |
|||
} |
|||
|
|||
.WdateDiv .WinvalidDay{ |
|||
color:#aaa; |
|||
} |
|||
|
|||
.WdateDiv #dpTime{ |
|||
float:left; |
|||
margin-top:3px; |
|||
margin-right:30px; |
|||
} |
|||
|
|||
.WdateDiv #dpTime #dpTimeStr{ |
|||
margin-left:1px; |
|||
} |
|||
|
|||
.WdateDiv #dpTime input{ |
|||
width:18px; |
|||
height:20px; |
|||
text-align:center; |
|||
border:#ccc 1px solid; |
|||
} |
|||
|
|||
.WdateDiv #dpTime .tB{ |
|||
border-right:0px; |
|||
} |
|||
|
|||
.WdateDiv #dpTime .tE{ |
|||
border-left:0; |
|||
border-right:0; |
|||
} |
|||
|
|||
.WdateDiv #dpTime .tm{ |
|||
width:7px; |
|||
border-left:0; |
|||
border-right:0; |
|||
} |
|||
|
|||
.WdateDiv #dpTime #dpTimeUp{ |
|||
height:10px; |
|||
width:13px; |
|||
border:0px; |
|||
background:url(img.gif) no-repeat -32px -16px; |
|||
} |
|||
|
|||
.WdateDiv #dpTime #dpTimeDown{ |
|||
height:10px; |
|||
width:13px; |
|||
border:0px; |
|||
background:url(img.gif) no-repeat -48px -16px; |
|||
} |
|||
|
|||
.WdateDiv #dpQS { |
|||
float:left; |
|||
margin-right:3px; |
|||
margin-top:3px; |
|||
background:url(img.gif) no-repeat 0px -16px; |
|||
width:20px; |
|||
height:20px; |
|||
cursor:pointer; |
|||
} |
|||
.WdateDiv #dpControl { |
|||
text-align:right; |
|||
} |
|||
.WdateDiv .dpButton{ |
|||
height:20px; |
|||
width:45px; |
|||
border:#ccc 1px solid; |
|||
margin-top:2px; |
|||
margin-right:1px; |
|||
} |
|||
|
After Width: | Height: | Size: 1.5 KiB |
|
After Width: | Height: | Size: 307 B |
@ -0,0 +1,256 @@ |
|||
/* |
|||
* My97 DatePicker 4.8 Skin:whyGreen |
|||
*/ |
|||
.WdateDiv{ |
|||
width:180px; |
|||
background-color:#fff; |
|||
border:#C5E1E4 1px solid; |
|||
padding:2px; |
|||
} |
|||
|
|||
.WdateDiv2{ |
|||
width:360px; |
|||
} |
|||
.WdateDiv *{font-size:9pt;} |
|||
|
|||
.WdateDiv .NavImg a{ |
|||
cursor:pointer; |
|||
display:block; |
|||
width:16px; |
|||
height:16px; |
|||
margin-top:1px; |
|||
} |
|||
|
|||
.WdateDiv .NavImgll a{ |
|||
float:left; |
|||
background:url(img.gif) no-repeat; |
|||
} |
|||
.WdateDiv .NavImgl a{ |
|||
float:left; |
|||
background:url(img.gif) no-repeat -16px 0px; |
|||
} |
|||
.WdateDiv .NavImgr a{ |
|||
float:right; |
|||
background:url(img.gif) no-repeat -32px 0px; |
|||
} |
|||
.WdateDiv .NavImgrr a{ |
|||
float:right; |
|||
background:url(img.gif) no-repeat -48px 0px; |
|||
} |
|||
|
|||
.WdateDiv #dpTitle{ |
|||
height:24px; |
|||
padding:1px; |
|||
border:#c5d9e8 1px solid; |
|||
background:url(bg.jpg); |
|||
margin-bottom:2px; |
|||
} |
|||
|
|||
.WdateDiv .yminput{ |
|||
margin-top:2px; |
|||
text-align:center; |
|||
border:0px; |
|||
height:20px; |
|||
width:50px; |
|||
color:#034c50; |
|||
background-color:transparent; |
|||
cursor:pointer; |
|||
} |
|||
|
|||
.WdateDiv .yminputfocus{ |
|||
margin-top:2px; |
|||
text-align:center; |
|||
border:#939393 1px solid; |
|||
font-weight:bold; |
|||
color:#034c50; |
|||
height:20px; |
|||
width:50px; |
|||
} |
|||
|
|||
.WdateDiv .menuSel{ |
|||
z-index:1; |
|||
position:absolute; |
|||
background-color:#FFFFFF; |
|||
border:#A3C6C8 1px solid; |
|||
display:none; |
|||
} |
|||
|
|||
.WdateDiv .menu{ |
|||
cursor:pointer; |
|||
background-color:#fff; |
|||
color:#11777C; |
|||
} |
|||
|
|||
.WdateDiv .menuOn{ |
|||
cursor:pointer; |
|||
background-color:#BEEBEE; |
|||
} |
|||
|
|||
.WdateDiv .invalidMenu{ |
|||
color:#aaa; |
|||
} |
|||
|
|||
.WdateDiv .YMenu{ |
|||
margin-top:20px; |
|||
} |
|||
|
|||
.WdateDiv .MMenu{ |
|||
margin-top:20px; |
|||
*width:62px; |
|||
} |
|||
|
|||
.WdateDiv .hhMenu{ |
|||
margin-top:-90px; |
|||
margin-left:26px; |
|||
} |
|||
|
|||
.WdateDiv .mmMenu{ |
|||
margin-top:-46px; |
|||
margin-left:26px; |
|||
} |
|||
|
|||
.WdateDiv .ssMenu{ |
|||
margin-top:-24px; |
|||
margin-left:26px; |
|||
} |
|||
|
|||
.WdateDiv .Wweek { |
|||
text-align:center; |
|||
background:#DAF3F5; |
|||
border-right:#BDEBEE 1px solid; |
|||
} |
|||
|
|||
.WdateDiv .MTitle{ |
|||
color:#13777e; |
|||
background-color:#bdebee; |
|||
} |
|||
.WdateDiv .WdayTable2{ |
|||
border-collapse:collapse; |
|||
border:#BEE9F0 1px solid; |
|||
} |
|||
.WdateDiv .WdayTable2 table{ |
|||
border:0; |
|||
} |
|||
|
|||
.WdateDiv .WdayTable{ |
|||
line-height:20px; |
|||
color:#13777e; |
|||
background-color:#edfbfb; |
|||
border:#BEE9F0 1px solid; |
|||
} |
|||
.WdateDiv .WdayTable td{ |
|||
text-align:center; |
|||
} |
|||
|
|||
.WdateDiv .Wday{ |
|||
cursor:pointer; |
|||
} |
|||
|
|||
.WdateDiv .WdayOn{ |
|||
cursor:pointer; |
|||
background-color:#74d2d9 ; |
|||
} |
|||
|
|||
.WdateDiv .Wwday{ |
|||
cursor:pointer; |
|||
color:#ab1e1e; |
|||
} |
|||
|
|||
.WdateDiv .WwdayOn{ |
|||
cursor:pointer; |
|||
background-color:#74d2d9; |
|||
} |
|||
.WdateDiv .Wtoday{ |
|||
cursor:pointer; |
|||
color:blue; |
|||
} |
|||
.WdateDiv .Wselday{ |
|||
background-color:#A7E2E7; |
|||
} |
|||
.WdateDiv .WspecialDay{ |
|||
background-color:#66F4DF; |
|||
} |
|||
|
|||
.WdateDiv .WotherDay{ |
|||
cursor:pointer; |
|||
color:#0099CC; |
|||
} |
|||
|
|||
.WdateDiv .WotherDayOn{ |
|||
cursor:pointer; |
|||
background-color:#C0EBEF; |
|||
} |
|||
|
|||
.WdateDiv .WinvalidDay{ |
|||
color:#aaa; |
|||
} |
|||
|
|||
.WdateDiv #dpTime{ |
|||
float:left; |
|||
margin-top:3px; |
|||
margin-right:30px; |
|||
} |
|||
|
|||
.WdateDiv #dpTime #dpTimeStr{ |
|||
margin-left:1px; |
|||
color:#497F7F; |
|||
} |
|||
|
|||
.WdateDiv #dpTime input{ |
|||
height:20px; |
|||
width:18px; |
|||
text-align:center; |
|||
color:#333; |
|||
border:#61CAD0 1px solid; |
|||
} |
|||
|
|||
.WdateDiv #dpTime .tB{ |
|||
border-right:0px; |
|||
} |
|||
|
|||
.WdateDiv #dpTime .tE{ |
|||
border-left:0; |
|||
border-right:0; |
|||
} |
|||
|
|||
.WdateDiv #dpTime .tm{ |
|||
width:7px; |
|||
border-left:0; |
|||
border-right:0; |
|||
} |
|||
|
|||
.WdateDiv #dpTime #dpTimeUp{ |
|||
height:10px; |
|||
width:13px; |
|||
border:0px; |
|||
background:url(img.gif) no-repeat -32px -16px; |
|||
} |
|||
|
|||
.WdateDiv #dpTime #dpTimeDown{ |
|||
height:10px; |
|||
width:13px; |
|||
border:0px; |
|||
background:url(img.gif) no-repeat -48px -16px; |
|||
} |
|||
|
|||
.WdateDiv #dpQS { |
|||
float:left; |
|||
margin-right:3px; |
|||
margin-top:3px; |
|||
background:url(img.gif) no-repeat 0px -16px; |
|||
width:20px; |
|||
height:20px; |
|||
cursor:pointer; |
|||
} |
|||
.WdateDiv #dpControl { |
|||
text-align:right; |
|||
margin-top:3px; |
|||
} |
|||
.WdateDiv .dpButton{ |
|||
height:20px; |
|||
width:45px; |
|||
margin-top:2px; |
|||
border:#38B1B9 1px solid; |
|||
background-color:#CFEBEE; |
|||
color:#08575B; |
|||
} |
|||
|
After Width: | Height: | Size: 1.6 KiB |
|
After Width: | Height: | Size: 4.1 KiB |
@ -0,0 +1,10 @@ |
|||
css_dir = "." |
|||
sass_dir = "." |
|||
images_dir = "." |
|||
fonts_dir = "fonts" |
|||
relative_assets = true |
|||
|
|||
output_style = :compact |
|||
line_comments = false |
|||
|
|||
preferred_syntax = :scss |
|||
Binary file not shown.
|
After Width: | Height: | Size: 2.1 KiB |
Binary file not shown.
Binary file not shown.
@ -0,0 +1,204 @@ |
|||
@charset 'UTF-8'; |
|||
/* Slider */ |
|||
.slick-loading .slick-list |
|||
{ |
|||
background: #fff url('./ajax-loader.gif') center center no-repeat; |
|||
} |
|||
|
|||
/* Icons */ |
|||
@font-face |
|||
{ |
|||
font-family: 'slick'; |
|||
font-weight: normal; |
|||
font-style: normal; |
|||
|
|||
src: url('./fonts/slick.eot'); |
|||
src: url('./fonts/slick.eot?#iefix') format('embedded-opentype'), url('./fonts/slick.woff') format('woff'), url('./fonts/slick.ttf') format('truetype'), url('./fonts/slick.svg#slick') format('svg'); |
|||
} |
|||
/* Arrows */ |
|||
.slick-prev, |
|||
.slick-next |
|||
{ |
|||
font-size: 0; |
|||
line-height: 0; |
|||
|
|||
position: absolute; |
|||
top: 50%; |
|||
|
|||
display: block; |
|||
|
|||
width: 20px; |
|||
height: 20px; |
|||
padding: 0; |
|||
-webkit-transform: translate(0, -50%); |
|||
-ms-transform: translate(0, -50%); |
|||
transform: translate(0, -50%); |
|||
|
|||
cursor: pointer; |
|||
|
|||
color: transparent; |
|||
border: none; |
|||
outline: none; |
|||
background: transparent; |
|||
} |
|||
.slick-prev:hover, |
|||
.slick-prev:focus, |
|||
.slick-next:hover, |
|||
.slick-next:focus |
|||
{ |
|||
color: transparent; |
|||
outline: none; |
|||
background: transparent; |
|||
} |
|||
.slick-prev:hover:before, |
|||
.slick-prev:focus:before, |
|||
.slick-next:hover:before, |
|||
.slick-next:focus:before |
|||
{ |
|||
opacity: 1; |
|||
} |
|||
.slick-prev.slick-disabled:before, |
|||
.slick-next.slick-disabled:before |
|||
{ |
|||
opacity: .25; |
|||
} |
|||
|
|||
.slick-prev:before, |
|||
.slick-next:before |
|||
{ |
|||
font-family: 'slick'; |
|||
font-size: 20px; |
|||
line-height: 1; |
|||
|
|||
opacity: .75; |
|||
color: white; |
|||
|
|||
-webkit-font-smoothing: antialiased; |
|||
-moz-osx-font-smoothing: grayscale; |
|||
} |
|||
|
|||
.slick-prev |
|||
{ |
|||
left: -25px; |
|||
} |
|||
[dir='rtl'] .slick-prev |
|||
{ |
|||
right: -25px; |
|||
left: auto; |
|||
} |
|||
.slick-prev:before |
|||
{ |
|||
content: '←'; |
|||
} |
|||
[dir='rtl'] .slick-prev:before |
|||
{ |
|||
content: '→'; |
|||
} |
|||
|
|||
.slick-next |
|||
{ |
|||
right: -25px; |
|||
} |
|||
[dir='rtl'] .slick-next |
|||
{ |
|||
right: auto; |
|||
left: -25px; |
|||
} |
|||
.slick-next:before |
|||
{ |
|||
content: '→'; |
|||
} |
|||
[dir='rtl'] .slick-next:before |
|||
{ |
|||
content: '←'; |
|||
} |
|||
|
|||
/* Dots */ |
|||
.slick-dotted.slick-slider |
|||
{ |
|||
margin-bottom: 30px; |
|||
} |
|||
|
|||
.slick-dots |
|||
{ |
|||
position: absolute; |
|||
bottom: -25px; |
|||
|
|||
display: block; |
|||
|
|||
width: 100%; |
|||
padding: 0; |
|||
margin: 0; |
|||
|
|||
list-style: none; |
|||
|
|||
text-align: center; |
|||
} |
|||
.slick-dots li |
|||
{ |
|||
position: relative; |
|||
|
|||
display: inline-block; |
|||
|
|||
width: 20px; |
|||
height: 20px; |
|||
margin: 0 5px; |
|||
padding: 0; |
|||
|
|||
cursor: pointer; |
|||
} |
|||
.slick-dots li button |
|||
{ |
|||
font-size: 0; |
|||
line-height: 0; |
|||
|
|||
display: block; |
|||
|
|||
width: 20px; |
|||
height: 20px; |
|||
padding: 5px; |
|||
|
|||
cursor: pointer; |
|||
|
|||
color: transparent; |
|||
border: 0; |
|||
outline: none; |
|||
background: transparent; |
|||
} |
|||
.slick-dots li button:hover, |
|||
.slick-dots li button:focus |
|||
{ |
|||
outline: none; |
|||
} |
|||
.slick-dots li button:hover:before, |
|||
.slick-dots li button:focus:before |
|||
{ |
|||
opacity: 1; |
|||
} |
|||
.slick-dots li button:before |
|||
{ |
|||
font-family: 'slick'; |
|||
font-size: 6px; |
|||
line-height: 20px; |
|||
|
|||
position: absolute; |
|||
top: 0; |
|||
left: 0; |
|||
|
|||
width: 20px; |
|||
height: 20px; |
|||
|
|||
content: '•'; |
|||
text-align: center; |
|||
|
|||
opacity: .25; |
|||
color: black; |
|||
|
|||
-webkit-font-smoothing: antialiased; |
|||
-moz-osx-font-smoothing: grayscale; |
|||
} |
|||
.slick-dots li.slick-active button:before |
|||
{ |
|||
opacity: .75; |
|||
color: black; |
|||
} |
|||
@ -0,0 +1,168 @@ |
|||
@charset "UTF-8"; |
|||
|
|||
// Default Variables |
|||
|
|||
@slick-font-path: "./fonts/"; |
|||
@slick-font-family: "slick"; |
|||
@slick-loader-path: "./"; |
|||
@slick-arrow-color: white; |
|||
@slick-dot-color: black; |
|||
@slick-dot-color-active: @slick-dot-color; |
|||
@slick-prev-character: "←"; |
|||
@slick-next-character: "→"; |
|||
@slick-dot-character: "•"; |
|||
@slick-dot-size: 6px; |
|||
@slick-opacity-default: 0.75; |
|||
@slick-opacity-on-hover: 1; |
|||
@slick-opacity-not-active: 0.25; |
|||
|
|||
/* Slider */ |
|||
.slick-loading .slick-list{ |
|||
background: #fff url('@{slick-loader-path}ajax-loader.gif') center center no-repeat; |
|||
} |
|||
|
|||
/* Arrows */ |
|||
.slick-prev, |
|||
.slick-next { |
|||
position: absolute; |
|||
display: block; |
|||
height: 20px; |
|||
width: 20px; |
|||
line-height: 0px; |
|||
font-size: 0px; |
|||
cursor: pointer; |
|||
background: transparent; |
|||
color: transparent; |
|||
top: 50%; |
|||
-webkit-transform: translate(0, -50%); |
|||
-ms-transform: translate(0, -50%); |
|||
transform: translate(0, -50%); |
|||
padding: 0; |
|||
border: none; |
|||
outline: none; |
|||
&:hover, &:focus { |
|||
outline: none; |
|||
background: transparent; |
|||
color: transparent; |
|||
&:before { |
|||
opacity: @slick-opacity-on-hover; |
|||
} |
|||
} |
|||
&.slick-disabled:before { |
|||
opacity: @slick-opacity-not-active; |
|||
} |
|||
} |
|||
|
|||
.slick-prev:before, .slick-next:before { |
|||
font-family: @slick-font-family; |
|||
font-size: 20px; |
|||
line-height: 1; |
|||
color: @slick-arrow-color; |
|||
opacity: @slick-opacity-default; |
|||
-webkit-font-smoothing: antialiased; |
|||
-moz-osx-font-smoothing: grayscale; |
|||
|
|||
& when ( @slick-font-family = 'slick' ) { |
|||
/* Icons */ |
|||
@font-face { |
|||
font-family: 'slick'; |
|||
font-weight: normal; |
|||
font-style: normal; |
|||
src: url('@{slick-font-path}slick.eot'); |
|||
src: url('@{slick-font-path}slick.eot?#iefix') format('embedded-opentype'), url('@{slick-font-path}slick.woff') format('woff'), url('@{slick-font-path}slick.ttf') format('truetype'), url('@{slick-font-path}slick.svg#slick') format('svg'); |
|||
} |
|||
} |
|||
} |
|||
|
|||
.slick-prev { |
|||
left: -25px; |
|||
[dir="rtl"] & { |
|||
left: auto; |
|||
right: -25px; |
|||
} |
|||
&:before { |
|||
content: @slick-prev-character; |
|||
[dir="rtl"] & { |
|||
content: @slick-next-character; |
|||
} |
|||
} |
|||
} |
|||
|
|||
.slick-next { |
|||
right: -25px; |
|||
[dir="rtl"] & { |
|||
left: -25px; |
|||
right: auto; |
|||
} |
|||
&:before { |
|||
content: @slick-next-character; |
|||
[dir="rtl"] & { |
|||
content: @slick-prev-character; |
|||
} |
|||
} |
|||
} |
|||
|
|||
/* Dots */ |
|||
|
|||
.slick-dotted .slick-slider { |
|||
margin-bottom: 30px; |
|||
} |
|||
|
|||
.slick-dots { |
|||
position: absolute; |
|||
bottom: -25px; |
|||
list-style: none; |
|||
display: block; |
|||
text-align: center; |
|||
padding: 0; |
|||
margin: 0; |
|||
width: 100%; |
|||
li { |
|||
position: relative; |
|||
display: inline-block; |
|||
height: 20px; |
|||
width: 20px; |
|||
margin: 0 5px; |
|||
padding: 0; |
|||
cursor: pointer; |
|||
button { |
|||
border: 0; |
|||
background: transparent; |
|||
display: block; |
|||
height: 20px; |
|||
width: 20px; |
|||
outline: none; |
|||
line-height: 0px; |
|||
font-size: 0px; |
|||
color: transparent; |
|||
padding: 5px; |
|||
cursor: pointer; |
|||
&:hover, &:focus { |
|||
outline: none; |
|||
&:before { |
|||
opacity: @slick-opacity-on-hover; |
|||
} |
|||
} |
|||
&:before { |
|||
position: absolute; |
|||
top: 0; |
|||
left: 0; |
|||
content: @slick-dot-character; |
|||
width: 20px; |
|||
height: 20px; |
|||
font-family: @slick-font-family; |
|||
font-size: @slick-dot-size; |
|||
line-height: 20px; |
|||
text-align: center; |
|||
color: @slick-dot-color; |
|||
opacity: @slick-opacity-not-active; |
|||
-webkit-font-smoothing: antialiased; |
|||
-moz-osx-font-smoothing: grayscale; |
|||
} |
|||
} |
|||
&.slick-active button:before { |
|||
color: @slick-dot-color-active; |
|||
opacity: @slick-opacity-default; |
|||
} |
|||
} |
|||
} |
|||
@ -0,0 +1,194 @@ |
|||
@charset "UTF-8"; |
|||
|
|||
// Default Variables |
|||
|
|||
// Slick icon entity codes outputs the following |
|||
// "\2190" outputs ascii character "←" |
|||
// "\2192" outputs ascii character "→" |
|||
// "\2022" outputs ascii character "•" |
|||
|
|||
$slick-font-path: "./fonts/" !default; |
|||
$slick-font-family: "slick" !default; |
|||
$slick-loader-path: "./" !default; |
|||
$slick-arrow-color: white !default; |
|||
$slick-dot-color: black !default; |
|||
$slick-dot-color-active: $slick-dot-color !default; |
|||
$slick-prev-character: "\2190" !default; |
|||
$slick-next-character: "\2192" !default; |
|||
$slick-dot-character: "\2022" !default; |
|||
$slick-dot-size: 6px !default; |
|||
$slick-opacity-default: 0.75 !default; |
|||
$slick-opacity-on-hover: 1 !default; |
|||
$slick-opacity-not-active: 0.25 !default; |
|||
|
|||
@function slick-image-url($url) { |
|||
@if function-exists(image-url) { |
|||
@return image-url($url); |
|||
} |
|||
@else { |
|||
@return url($slick-loader-path + $url); |
|||
} |
|||
} |
|||
|
|||
@function slick-font-url($url) { |
|||
@if function-exists(font-url) { |
|||
@return font-url($url); |
|||
} |
|||
@else { |
|||
@return url($slick-font-path + $url); |
|||
} |
|||
} |
|||
|
|||
/* Slider */ |
|||
|
|||
.slick-list { |
|||
.slick-loading & { |
|||
background: #fff slick-image-url("ajax-loader.gif") center center no-repeat; |
|||
} |
|||
} |
|||
|
|||
/* Icons */ |
|||
@if $slick-font-family == "slick" { |
|||
@font-face { |
|||
font-family: "slick"; |
|||
src: slick-font-url("slick.eot"); |
|||
src: slick-font-url("slick.eot?#iefix") format("embedded-opentype"), slick-font-url("slick.woff") format("woff"), slick-font-url("slick.ttf") format("truetype"), slick-font-url("slick.svg#slick") format("svg"); |
|||
font-weight: normal; |
|||
font-style: normal; |
|||
} |
|||
} |
|||
|
|||
/* Arrows */ |
|||
|
|||
.slick-prev, |
|||
.slick-next { |
|||
position: absolute; |
|||
display: block; |
|||
height: 20px; |
|||
width: 20px; |
|||
line-height: 0px; |
|||
font-size: 0px; |
|||
cursor: pointer; |
|||
background: transparent; |
|||
color: transparent; |
|||
top: 50%; |
|||
-webkit-transform: translate(0, -50%); |
|||
-ms-transform: translate(0, -50%); |
|||
transform: translate(0, -50%); |
|||
padding: 0; |
|||
border: none; |
|||
outline: none; |
|||
&:hover, &:focus { |
|||
outline: none; |
|||
background: transparent; |
|||
color: transparent; |
|||
&:before { |
|||
opacity: $slick-opacity-on-hover; |
|||
} |
|||
} |
|||
&.slick-disabled:before { |
|||
opacity: $slick-opacity-not-active; |
|||
} |
|||
&:before { |
|||
font-family: $slick-font-family; |
|||
font-size: 20px; |
|||
line-height: 1; |
|||
color: $slick-arrow-color; |
|||
opacity: $slick-opacity-default; |
|||
-webkit-font-smoothing: antialiased; |
|||
-moz-osx-font-smoothing: grayscale; |
|||
} |
|||
} |
|||
|
|||
.slick-prev { |
|||
left: -25px; |
|||
[dir="rtl"] & { |
|||
left: auto; |
|||
right: -25px; |
|||
} |
|||
&:before { |
|||
content: $slick-prev-character; |
|||
[dir="rtl"] & { |
|||
content: $slick-next-character; |
|||
} |
|||
} |
|||
} |
|||
|
|||
.slick-next { |
|||
right: -25px; |
|||
[dir="rtl"] & { |
|||
left: -25px; |
|||
right: auto; |
|||
} |
|||
&:before { |
|||
content: $slick-next-character; |
|||
[dir="rtl"] & { |
|||
content: $slick-prev-character; |
|||
} |
|||
} |
|||
} |
|||
|
|||
/* Dots */ |
|||
|
|||
.slick-dotted.slick-slider { |
|||
margin-bottom: 30px; |
|||
} |
|||
|
|||
.slick-dots { |
|||
position: absolute; |
|||
bottom: -25px; |
|||
list-style: none; |
|||
display: block; |
|||
text-align: center; |
|||
padding: 0; |
|||
margin: 0; |
|||
width: 100%; |
|||
li { |
|||
position: relative; |
|||
display: inline-block; |
|||
height: 20px; |
|||
width: 20px; |
|||
margin: 0 5px; |
|||
padding: 0; |
|||
cursor: pointer; |
|||
button { |
|||
border: 0; |
|||
background: transparent; |
|||
display: block; |
|||
height: 20px; |
|||
width: 20px; |
|||
outline: none; |
|||
line-height: 0px; |
|||
font-size: 0px; |
|||
color: transparent; |
|||
padding: 5px; |
|||
cursor: pointer; |
|||
&:hover, &:focus { |
|||
outline: none; |
|||
&:before { |
|||
opacity: $slick-opacity-on-hover; |
|||
} |
|||
} |
|||
&:before { |
|||
position: absolute; |
|||
top: 0; |
|||
left: 0; |
|||
content: $slick-dot-character; |
|||
width: 20px; |
|||
height: 20px; |
|||
font-family: $slick-font-family; |
|||
font-size: $slick-dot-size; |
|||
line-height: 20px; |
|||
text-align: center; |
|||
color: $slick-dot-color; |
|||
opacity: $slick-opacity-not-active; |
|||
-webkit-font-smoothing: antialiased; |
|||
-moz-osx-font-smoothing: grayscale; |
|||
} |
|||
} |
|||
&.slick-active button:before { |
|||
color: $slick-dot-color-active; |
|||
opacity: $slick-opacity-default; |
|||
} |
|||
} |
|||
} |
|||
@ -0,0 +1,119 @@ |
|||
/* Slider */ |
|||
.slick-slider |
|||
{ |
|||
position: relative; |
|||
|
|||
display: block; |
|||
box-sizing: border-box; |
|||
|
|||
-webkit-user-select: none; |
|||
-moz-user-select: none; |
|||
-ms-user-select: none; |
|||
user-select: none; |
|||
|
|||
-webkit-touch-callout: none; |
|||
-khtml-user-select: none; |
|||
-ms-touch-action: pan-y; |
|||
touch-action: pan-y; |
|||
-webkit-tap-highlight-color: transparent; |
|||
} |
|||
|
|||
.slick-list |
|||
{ |
|||
position: relative; |
|||
|
|||
display: block; |
|||
overflow: hidden; |
|||
|
|||
margin: 0; |
|||
padding: 0; |
|||
} |
|||
.slick-list:focus |
|||
{ |
|||
outline: none; |
|||
} |
|||
.slick-list.dragging |
|||
{ |
|||
cursor: pointer; |
|||
cursor: hand; |
|||
} |
|||
|
|||
.slick-slider .slick-track, |
|||
.slick-slider .slick-list |
|||
{ |
|||
-webkit-transform: translate3d(0, 0, 0); |
|||
-moz-transform: translate3d(0, 0, 0); |
|||
-ms-transform: translate3d(0, 0, 0); |
|||
-o-transform: translate3d(0, 0, 0); |
|||
transform: translate3d(0, 0, 0); |
|||
} |
|||
|
|||
.slick-track |
|||
{ |
|||
position: relative; |
|||
top: 0; |
|||
left: 0; |
|||
|
|||
display: block; |
|||
margin-left: auto; |
|||
margin-right: auto; |
|||
} |
|||
.slick-track:before, |
|||
.slick-track:after |
|||
{ |
|||
display: table; |
|||
|
|||
content: ''; |
|||
} |
|||
.slick-track:after |
|||
{ |
|||
clear: both; |
|||
} |
|||
.slick-loading .slick-track |
|||
{ |
|||
visibility: hidden; |
|||
} |
|||
|
|||
.slick-slide |
|||
{ |
|||
display: none; |
|||
float: left; |
|||
|
|||
height: 100%; |
|||
min-height: 1px; |
|||
} |
|||
[dir='rtl'] .slick-slide |
|||
{ |
|||
float: right; |
|||
} |
|||
.slick-slide img |
|||
{ |
|||
display: block; |
|||
} |
|||
.slick-slide.slick-loading img |
|||
{ |
|||
display: none; |
|||
} |
|||
.slick-slide.dragging img |
|||
{ |
|||
pointer-events: none; |
|||
} |
|||
.slick-initialized .slick-slide |
|||
{ |
|||
display: block; |
|||
} |
|||
.slick-loading .slick-slide |
|||
{ |
|||
visibility: hidden; |
|||
} |
|||
.slick-vertical .slick-slide |
|||
{ |
|||
display: block; |
|||
|
|||
height: auto; |
|||
|
|||
border: 1px solid transparent; |
|||
} |
|||
.slick-arrow.slick-hidden { |
|||
display: none; |
|||
} |
|||
File diff suppressed because it is too large
@ -0,0 +1,100 @@ |
|||
/* Slider */ |
|||
|
|||
.slick-slider { |
|||
position: relative; |
|||
display: block; |
|||
box-sizing: border-box; |
|||
-webkit-touch-callout: none; |
|||
-webkit-user-select: none; |
|||
-khtml-user-select: none; |
|||
-moz-user-select: none; |
|||
-ms-user-select: none; |
|||
user-select: none; |
|||
-ms-touch-action: pan-y; |
|||
touch-action: pan-y; |
|||
-webkit-tap-highlight-color: transparent; |
|||
} |
|||
.slick-list { |
|||
position: relative; |
|||
overflow: hidden; |
|||
display: block; |
|||
margin: 0; |
|||
padding: 0; |
|||
|
|||
&:focus { |
|||
outline: none; |
|||
} |
|||
|
|||
&.dragging { |
|||
cursor: pointer; |
|||
cursor: hand; |
|||
} |
|||
} |
|||
.slick-slider .slick-track, |
|||
.slick-slider .slick-list { |
|||
-webkit-transform: translate3d(0, 0, 0); |
|||
-moz-transform: translate3d(0, 0, 0); |
|||
-ms-transform: translate3d(0, 0, 0); |
|||
-o-transform: translate3d(0, 0, 0); |
|||
transform: translate3d(0, 0, 0); |
|||
} |
|||
|
|||
.slick-track { |
|||
position: relative; |
|||
left: 0; |
|||
top: 0; |
|||
display: block; |
|||
margin-left: auto; |
|||
margin-right: auto; |
|||
|
|||
&:before, |
|||
&:after { |
|||
content: ""; |
|||
display: table; |
|||
} |
|||
|
|||
&:after { |
|||
clear: both; |
|||
} |
|||
|
|||
.slick-loading & { |
|||
visibility: hidden; |
|||
} |
|||
} |
|||
.slick-slide { |
|||
float: left; |
|||
height: 100%; |
|||
min-height: 1px; |
|||
[dir="rtl"] & { |
|||
float: right; |
|||
} |
|||
img { |
|||
display: block; |
|||
} |
|||
&.slick-loading img { |
|||
display: none; |
|||
} |
|||
|
|||
display: none; |
|||
|
|||
&.dragging img { |
|||
pointer-events: none; |
|||
} |
|||
|
|||
.slick-initialized & { |
|||
display: block; |
|||
} |
|||
|
|||
.slick-loading & { |
|||
visibility: hidden; |
|||
} |
|||
|
|||
.slick-vertical & { |
|||
display: block; |
|||
height: auto; |
|||
border: 1px solid transparent; |
|||
} |
|||
} |
|||
.slick-arrow.slick-hidden { |
|||
display: none; |
|||
} |
|||
File diff suppressed because one or more lines are too long
@ -0,0 +1,100 @@ |
|||
/* Slider */ |
|||
|
|||
.slick-slider { |
|||
position: relative; |
|||
display: block; |
|||
box-sizing: border-box; |
|||
-webkit-touch-callout: none; |
|||
-webkit-user-select: none; |
|||
-khtml-user-select: none; |
|||
-moz-user-select: none; |
|||
-ms-user-select: none; |
|||
user-select: none; |
|||
-ms-touch-action: pan-y; |
|||
touch-action: pan-y; |
|||
-webkit-tap-highlight-color: transparent; |
|||
} |
|||
.slick-list { |
|||
position: relative; |
|||
overflow: hidden; |
|||
display: block; |
|||
margin: 0; |
|||
padding: 0; |
|||
|
|||
&:focus { |
|||
outline: none; |
|||
} |
|||
|
|||
&.dragging { |
|||
cursor: pointer; |
|||
cursor: hand; |
|||
} |
|||
} |
|||
.slick-slider .slick-track, |
|||
.slick-slider .slick-list { |
|||
-webkit-transform: translate3d(0, 0, 0); |
|||
-moz-transform: translate3d(0, 0, 0); |
|||
-ms-transform: translate3d(0, 0, 0); |
|||
-o-transform: translate3d(0, 0, 0); |
|||
transform: translate3d(0, 0, 0); |
|||
} |
|||
|
|||
.slick-track { |
|||
position: relative; |
|||
left: 0; |
|||
top: 0; |
|||
display: block; |
|||
margin-left: auto; |
|||
margin-right: auto; |
|||
|
|||
&:before, |
|||
&:after { |
|||
content: ""; |
|||
display: table; |
|||
} |
|||
|
|||
&:after { |
|||
clear: both; |
|||
} |
|||
|
|||
.slick-loading & { |
|||
visibility: hidden; |
|||
} |
|||
} |
|||
.slick-slide { |
|||
float: left; |
|||
height: 100%; |
|||
min-height: 1px; |
|||
[dir="rtl"] & { |
|||
float: right; |
|||
} |
|||
img { |
|||
display: block; |
|||
} |
|||
&.slick-loading img { |
|||
display: none; |
|||
} |
|||
|
|||
display: none; |
|||
|
|||
&.dragging img { |
|||
pointer-events: none; |
|||
} |
|||
|
|||
.slick-initialized & { |
|||
display: block; |
|||
} |
|||
|
|||
.slick-loading & { |
|||
visibility: hidden; |
|||
} |
|||
|
|||
.slick-vertical & { |
|||
display: block; |
|||
height: auto; |
|||
border: 1px solid transparent; |
|||
} |
|||
} |
|||
.slick-arrow.slick-hidden { |
|||
display: none; |
|||
} |
|||
File diff suppressed because it is too large
@ -0,0 +1,257 @@ |
|||
/* |
|||
* jQuery Superfish Menu Plugin |
|||
* Copyright (c) 2013 Joel Birch |
|||
* |
|||
* Dual licensed under the MIT and GPL licenses: |
|||
* http//www.opensource.org/licenses/mit-license.php
|
|||
* http//www.gnu.org/licenses/gpl.html
|
|||
*/ |
|||
|
|||
(function ($) { |
|||
"use strict"; |
|||
|
|||
var methods = (function () { |
|||
// private properties and methods go here
|
|||
var c = { |
|||
bcClass: 'sf-breadcrumb', |
|||
menuClass: 'sf-js-enabled', |
|||
anchorClass: 'sf-with-ul', |
|||
menuArrowClass: 'sf-arrows' |
|||
}, |
|||
ios = (function () { |
|||
var ios = /iPhone|iPad|iPod/i.test(navigator.userAgent); |
|||
if (ios) { |
|||
// iOS clicks only bubble as far as body children
|
|||
$(window).load(function () { |
|||
$('body').children().on('click', $.noop); |
|||
}); |
|||
} |
|||
return ios; |
|||
})(), |
|||
wp7 = (function () { |
|||
var style = document.documentElement.style; |
|||
return ('behavior' in style && 'fill' in style && /iemobile/i.test(navigator.userAgent)); |
|||
})(), |
|||
toggleMenuClasses = function ($menu, o) { |
|||
var classes = c.menuClass; |
|||
if (o.cssArrows) { |
|||
classes += ' ' + c.menuArrowClass; |
|||
} |
|||
$menu.toggleClass(classes); |
|||
}, |
|||
setPathToCurrent = function ($menu, o) { |
|||
return $menu.find('li.' + o.pathClass).slice(0, o.pathLevels) |
|||
.addClass(o.hoverClass + ' ' + c.bcClass) |
|||
.filter(function () { |
|||
return ($(this).children(o.popUpSelector).hide().show().length); |
|||
}).removeClass(o.pathClass); |
|||
}, |
|||
toggleAnchorClass = function ($li) { |
|||
$li.children('a').toggleClass(c.anchorClass); |
|||
}, |
|||
toggleTouchAction = function ($menu) { |
|||
var touchAction = $menu.css('ms-touch-action'); |
|||
touchAction = (touchAction === 'pan-y') ? 'auto' : 'pan-y'; |
|||
$menu.css('ms-touch-action', touchAction); |
|||
}, |
|||
applyHandlers = function ($menu, o) { |
|||
var targets = 'li:has(' + o.popUpSelector + ')'; |
|||
if ($.fn.hoverIntent && !o.disableHI) { |
|||
$menu.hoverIntent(over, out, targets); |
|||
} |
|||
else { |
|||
$menu |
|||
.on('mouseenter.superfish', targets, over) |
|||
.on('mouseleave.superfish', targets, out); |
|||
} |
|||
var touchevent = 'MSPointerDown.superfish'; |
|||
if (!ios) { |
|||
touchevent += ' touchend.superfish'; |
|||
} |
|||
if (wp7) { |
|||
touchevent += ' mousedown.superfish'; |
|||
} |
|||
$menu |
|||
.on('focusin.superfish', 'li', over) |
|||
.on('focusout.superfish', 'li', out) |
|||
.on(touchevent, 'a', o, touchHandler); |
|||
}, |
|||
touchHandler = function (e) { |
|||
var $this = $(this), |
|||
$ul = $this.siblings(e.data.popUpSelector); |
|||
|
|||
if ($ul.length > 0 && $ul.is(':hidden')) { |
|||
$this.one('click.superfish', false); |
|||
if (e.type === 'MSPointerDown') { |
|||
$this.trigger('focus'); |
|||
} else { |
|||
$.proxy(over, $this.parent('li'))(); |
|||
} |
|||
} |
|||
}, |
|||
over = function () { |
|||
var $this = $(this), |
|||
o = getOptions($this); |
|||
clearTimeout(o.sfTimer); |
|||
$this.siblings().superfish('hide').end().superfish('show'); |
|||
}, |
|||
out = function () { |
|||
var $this = $(this), |
|||
o = getOptions($this); |
|||
if (ios) { |
|||
$.proxy(close, $this, o)(); |
|||
} |
|||
else { |
|||
clearTimeout(o.sfTimer); |
|||
o.sfTimer = setTimeout($.proxy(close, $this, o), o.delay); |
|||
} |
|||
}, |
|||
close = function (o) { |
|||
o.retainPath = ($.inArray(this[0], o.$path) > -1); |
|||
this.superfish('hide'); |
|||
|
|||
if (!this.parents('.' + o.hoverClass).length) { |
|||
o.onIdle.call(getMenu(this)); |
|||
if (o.$path.length) { |
|||
$.proxy(over, o.$path)(); |
|||
} |
|||
} |
|||
}, |
|||
getMenu = function ($el) { |
|||
return $el.closest('.' + c.menuClass); |
|||
}, |
|||
getOptions = function ($el) { |
|||
return getMenu($el).data('sf-options'); |
|||
}; |
|||
|
|||
return { |
|||
// public methods
|
|||
hide: function (instant) { |
|||
if (this.length) { |
|||
var $this = this, |
|||
o = getOptions($this); |
|||
if (!o) { |
|||
return this; |
|||
} |
|||
var not = (o.retainPath === true) ? o.$path : '', |
|||
$ul = $this.find('li.' + o.hoverClass).add(this).not(not).removeClass(o.hoverClass).children(o.popUpSelector), |
|||
speed = o.speedOut; |
|||
|
|||
if (instant) { |
|||
$ul.show(); |
|||
speed = 0; |
|||
} |
|||
o.retainPath = false; |
|||
o.onBeforeHide.call($ul); |
|||
$ul.stop(true, true).animate(o.animationOut, speed, function () { |
|||
var $this = $(this); |
|||
o.onHide.call($this); |
|||
}); |
|||
} |
|||
return this; |
|||
}, |
|||
show: function () { |
|||
var o = getOptions(this); |
|||
if (!o) { |
|||
return this; |
|||
} |
|||
var $this = this.addClass(o.hoverClass), |
|||
$ul = $this.children(o.popUpSelector); |
|||
|
|||
o.onBeforeShow.call($ul); |
|||
$ul.stop(true, true).animate(o.animation, o.speed, function () { |
|||
o.onShow.call($ul); |
|||
}); |
|||
return this; |
|||
}, |
|||
destroy: function () { |
|||
return this.each(function () { |
|||
var $this = $(this), |
|||
o = $this.data('sf-options'), |
|||
$hasPopUp; |
|||
if (!o) { |
|||
return false; |
|||
} |
|||
$hasPopUp = $this.find(o.popUpSelector).parent('li'); |
|||
clearTimeout(o.sfTimer); |
|||
toggleMenuClasses($this, o); |
|||
toggleAnchorClass($hasPopUp); |
|||
toggleTouchAction($this); |
|||
// remove event handlers
|
|||
$this.off('.superfish').off('.hoverIntent'); |
|||
// clear animation's inline display style
|
|||
$hasPopUp.children(o.popUpSelector).attr('style', function (i, style) { |
|||
return style.replace(/display[^;]+;?/g, ''); |
|||
}); |
|||
// reset 'current' path classes
|
|||
o.$path.removeClass(o.hoverClass + ' ' + c.bcClass).addClass(o.pathClass); |
|||
$this.find('.' + o.hoverClass).removeClass(o.hoverClass); |
|||
o.onDestroy.call($this); |
|||
$this.removeData('sf-options'); |
|||
}); |
|||
}, |
|||
init: function (op) { |
|||
return this.each(function () { |
|||
var $this = $(this); |
|||
if ($this.data('sf-options')) { |
|||
return false; |
|||
} |
|||
var o = $.extend({}, $.fn.superfish.defaults, op), |
|||
$hasPopUp = $this.find(o.popUpSelector).parent('li'); |
|||
o.$path = setPathToCurrent($this, o); |
|||
|
|||
$this.data('sf-options', o); |
|||
|
|||
toggleMenuClasses($this, o); |
|||
toggleAnchorClass($hasPopUp); |
|||
toggleTouchAction($this); |
|||
applyHandlers($this, o); |
|||
|
|||
$hasPopUp.not('.' + c.bcClass).superfish('hide', true); |
|||
|
|||
o.onInit.call(this); |
|||
}); |
|||
} |
|||
}; |
|||
})(); |
|||
|
|||
$.fn.superfish = function (method, args) { |
|||
if (methods[method]) { |
|||
return methods[method].apply(this, Array.prototype.slice.call(arguments, 1)); |
|||
} |
|||
else if (typeof method === 'object' || ! method) { |
|||
return methods.init.apply(this, arguments); |
|||
} |
|||
else { |
|||
return $.error('Method ' + method + ' does not exist on jQuery.fn.superfish'); |
|||
} |
|||
}; |
|||
|
|||
$.fn.superfish.defaults = { |
|||
popUpSelector: 'ul,.sf-mega', // within menu context
|
|||
hoverClass: 'sfHover', |
|||
pathClass: 'overrideThisToUse', |
|||
pathLevels: 1, |
|||
delay: 800, |
|||
animation: {opacity: 'show'}, |
|||
animationOut: {opacity: 'hide'}, |
|||
speed: 'normal', |
|||
speedOut: 'fast', |
|||
cssArrows: true, |
|||
disableHI: false, |
|||
onInit: $.noop, |
|||
onBeforeShow: $.noop, |
|||
onShow: $.noop, |
|||
onBeforeHide: $.noop, |
|||
onHide: $.noop, |
|||
onIdle: $.noop, |
|||
onDestroy: $.noop |
|||
}; |
|||
|
|||
// soon to be deprecated
|
|||
$.fn.extend({ |
|||
hideSuperfishUl: methods.hide, |
|||
showSuperfishUl: methods.show |
|||
}); |
|||
|
|||
})(jQuery); |
|||
@ -0,0 +1,54 @@ |
|||
/* |
|||
* jQuery plugin "tytabs" by Tyler ( Gregory Jacob ) |
|||
* http//blog.carefordesign.com
|
|||
* |
|||
* Copyright 2010, Gregory Jacob |
|||
* Data : 31 decembre 2010 |
|||
*/ |
|||
(function ($) { |
|||
$.fn.tytabs = function (options) { |
|||
var defaults = { |
|||
prefixtabs: "tab", |
|||
prefixcontent: "content", |
|||
classcontent: "tabscontent", |
|||
tabinit: "1", |
|||
catchget: "tab", |
|||
fadespeed: "normal" |
|||
}, opts = $.extend({}, defaults, options); |
|||
return this.each(function () { |
|||
var obj = $(this); |
|||
opts.classcontent = "." + opts.classcontent; |
|||
opts.prefixcontent = "#" + opts.prefixcontent; |
|||
function showTab(id) { |
|||
$(opts.classcontent, obj).stop(true, true); |
|||
var contentvisible = $(opts.classcontent + ":visible", obj); |
|||
if (contentvisible.length > 0) { |
|||
contentvisible.fadeOut(opts.fadespeed, function () { |
|||
fadeincontent(id) |
|||
}) |
|||
} else { |
|||
fadeincontent(id) |
|||
} |
|||
$("#" + opts.prefixtabs + opts.tabinit).removeAttr("class"); |
|||
$("#" + opts.prefixtabs + id).attr("class", "current"); |
|||
opts.tabinit = id |
|||
} |
|||
|
|||
function fadeincontent(id) { |
|||
$(opts.prefixcontent + id, obj).fadeIn(opts.fadespeed) |
|||
} |
|||
|
|||
$("ul.tabs li", obj).click(function () { |
|||
showTab($(this).attr("id").replace(opts.prefixtabs, "")); |
|||
return false |
|||
}); |
|||
var tab = getvars(opts.catchget); |
|||
showTab(((tab && $(opts.prefixcontent + tab).length == 1) ? tab : ($(opts.prefixcontent + opts.tabinit).length == 1) ? opts.tabinit : "1")) |
|||
}) |
|||
}; |
|||
function getvars(q, s) { |
|||
s = (s) ? s : window.location.search; |
|||
var re = new RegExp("&" + q + "=([^&]*)", "i"); |
|||
return (s = s.replace(/^\?/, "&").match(re)) ? s = s[1] : s = "" |
|||
} |
|||
})(jQuery); |
|||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -0,0 +1,62 @@ |
|||
(function($){ |
|||
$.fn.yomi=function(){ |
|||
var data=""; |
|||
var _DOM=null; |
|||
var TIMER; |
|||
var num=0; |
|||
createdom =function(dom){ |
|||
_DOM=dom; |
|||
|
|||
data=$(dom).attr("data"); |
|||
|
|||
num++; |
|||
|
|||
data = data.replace(/-/g,"/"); |
|||
|
|||
data = Math.round((new Date(data)).getTime()/1000);//
|
|||
$(_DOM).append("<ul class='yomi'><li id='"+data+"' class='yomiday'></li><li id='"+data+"days' class='split splitday'>天</li><li class='yomihour'></li><li class='split'>时</li><li class='yomimin'></li><li class='split'>分</li><li class='yomisec'></li><li class='split'>秒</li></ul>") |
|||
reflash(data); |
|||
|
|||
}; |
|||
isPositiveInteger =function (s){//是否为正整数
|
|||
var re = /^[1-9][0-9]*$/; |
|||
return re.test(s) |
|||
}; |
|||
reflash=function(d){ |
|||
var range = data-Math.round((new Date()).getTime()/1000), |
|||
secday = 86400, sechour = 3600, |
|||
days = parseInt(range/secday), |
|||
hours = parseInt((range%secday)/sechour), |
|||
min = parseInt(((range%secday)%sechour)/60), |
|||
sec = ((range%secday)%sechour)%60; |
|||
|
|||
if(isPositiveInteger(parseInt(nol(days)))==false){ |
|||
$(_DOM).find(".yomiday").css('display','none'); |
|||
$(_DOM).find(".splitday").css('display','none'); |
|||
|
|||
}else{ |
|||
$(_DOM).find(".yomiday").css('display','block'); |
|||
$(_DOM).find(".splitday").css('display','block'); |
|||
$(_DOM).find(".yomiday").html(nol(days)); |
|||
} |
|||
$(_DOM).find(".yomihour").html(nol(hours)); |
|||
$(_DOM).find(".yomimin").html(nol(min)); |
|||
$(_DOM).find(".yomisec").html(nol(sec)); |
|||
|
|||
}; |
|||
TIMER = setInterval( reflash,1000 ); |
|||
nol = function(h){ |
|||
return h>9?h:(h>0?('0'+h):'00'); |
|||
} |
|||
return this.each(function(){ |
|||
var $box = $(this); |
|||
createdom($box); |
|||
}); |
|||
} |
|||
})(jQuery); |
|||
$(function(){ |
|||
$(".yomibox").each(function(){ |
|||
$(this).yomi(); |
|||
}); |
|||
$("head").append("<style type='text/css'>.yomi {list-style:none;}.yomi li{margin: 0 2px;float:left;color:rgba(244, 75, 37, 1);font-size:10px; font-weight:bold;}.yomi li.split{background:none;color:rgba(51,51,51,1);}</style>") |
|||
}); |
|||
@ -0,0 +1,319 @@ |
|||
|
|||
(function($){ |
|||
$.fn.num = function(options){ |
|||
_this = $(this) |
|||
var _thisTop,_thisRight,_thisBottom,_thisLeft,_thisTopBottom,_thisRightLeft,_thisAll |
|||
|
|||
n1 = _this.width(); |
|||
h1 = _this.height(); |
|||
|
|||
var defaults = { |
|||
Type:'num1', |
|||
Color:'#ff0000', |
|||
speed:300, |
|||
} |
|||
var options = $.extend({},defaults,options) |
|||
var becurr = "background:"+options.Color+";position:absolute;border-radius:10px;opahide;" |
|||
switch(options.Type){ |
|||
case 'num1': |
|||
num1() |
|||
break; |
|||
case 'num2': |
|||
num2() |
|||
break; |
|||
case 'num3': |
|||
num3() |
|||
break; |
|||
case 'num4': |
|||
num4() |
|||
break; |
|||
case 'num5': |
|||
num5() |
|||
break; |
|||
case 'num6': |
|||
num6() |
|||
break; |
|||
case 'num7': |
|||
num7() |
|||
break; |
|||
case 'num8': |
|||
num8() |
|||
break; |
|||
case 'num9': |
|||
num9() |
|||
break; |
|||
case 'num10': |
|||
num10() |
|||
break; |
|||
case 'num11': |
|||
num10() |
|||
break; |
|||
} |
|||
|
|||
function than(_this){ |
|||
var obj = new Object(); |
|||
obj.name = '123' |
|||
obj.thsn = function(){ |
|||
_thisTop = _this.find('.divTop').stop().show() |
|||
_thisRight = _this.find('.divRight').stop().show() |
|||
_thisBottom = _this.find('.divBottom').stop().show() |
|||
_thisLeft = _this.find('.divLeft').stop().show() |
|||
_thisTopBottom = _this.find('.divTop,.divBottom').stop().show() |
|||
_thisRightLeft = _this.find('.divLeft,.divRight').stop().show() |
|||
_thisAll = _this.find('.divTop,.divBottom,.divLeft,.divRight').stop().show() |
|||
} |
|||
return obj; |
|||
} |
|||
|
|||
var opashow = 'opashow',opahide = 'opahide' |
|||
function num1(){ |
|||
var becurr = "background:"+options.Color+";position:absolute;" |
|||
// top杈规
|
|||
var divTop ="<div style='"+becurr+"top:-2px;left:-2px;width:0px;height:2px' class='divTop'></div>"; |
|||
|
|||
// right杈规
|
|||
var divRight ="<div style='"+becurr+"bottom:-2px;right:-2px;width:2px;height:0px;' class='divRight'></div>"; |
|||
|
|||
// Bottom杈规
|
|||
var divBottom ="<div style='"+becurr+"bottom:-2px;right:-2px;width:0px;height:2px' class='divBottom'></div>"; |
|||
|
|||
// Left杈规
|
|||
var divLeft ="<div style='"+becurr+"top:-2px;left:-2px;width:2px;height:0px;' class='divLeft'></div>"; |
|||
_this.hover(function(){ |
|||
el = $(this) |
|||
el.append(divTop,divRight,divBottom,divLeft); |
|||
num1 = new than(el) |
|||
num1.thsn() |
|||
_thisTopBottom.animate({width:n1+3.5,opashow},options.speed) |
|||
_thisRightLeft.animate({height:h1+3.5,opashow},options.speed); |
|||
},function(){ |
|||
_thisTopBottom.animate({width:0,opahide},options.speed) |
|||
_thisRightLeft.animate({height:0,opahide},options.speed,function(){ |
|||
_thisAll.remove() |
|||
}); |
|||
}) |
|||
} |
|||
|
|||
function num2(){ |
|||
// top杈规
|
|||
var divTop = "<div style='"+becurr+"height:2px;width:50px;top:-2px;left:-80px;' class='divTop'></div"; |
|||
|
|||
// right杈规
|
|||
var divRight = "<div style='"+becurr+"height:50px;width:2px;top:-80px;right:-2px;' class='divRight'></div"; |
|||
|
|||
// Bottom杈规
|
|||
var divBottom = "<div style='"+becurr+"height:2px;width:50px;bottom:-2px;right:-80px;' class='divBottom'></div"; |
|||
|
|||
// Left杈规
|
|||
var divLeft = "<div style='"+becurr+"height:50px;width:2px;bottom:-80px;left:-2px;' class='divLeft'></div"; |
|||
_this.hover(function(){ |
|||
el = $(this) |
|||
el.append(divTop,divRight,divBottom,divLeft); |
|||
num2 = new than(el) |
|||
num2.thsn() |
|||
_thisTop.animate({left:-2,},options.speed).fadeOut(0) |
|||
_thisRight.animate({top:-2},options.speed).fadeOut(0) |
|||
_thisBottom.animate({right:-2,},options.speed).fadeOut(0) |
|||
_thisLeft.animate({bottom:-2,},options.speed).fadeOut(0); |
|||
},function(){ |
|||
_thisTop.show().animate({left:-80},options.speed).hide(0) |
|||
_thisRight.show().animate({top:-80},options.speed).hide(0) |
|||
_thisBottom.show().animate({right:-80},options.speed).hide(0) |
|||
_thisLeft.show().animate({bottom:-80},options.speed,function(){ |
|||
_thisAll.remove() |
|||
}).hide(0); |
|||
}) |
|||
} |
|||
|
|||
function num3(){ |
|||
// top杈规
|
|||
var divTop ="<div style='"+becurr+"top:-2px;left:-2px;width:0px;height:2px' class='divTop'></div>"; |
|||
|
|||
// right杈规
|
|||
var divRight ="<div style='"+becurr+"top:-2px;right:-2px;width:2px;height:0px;' class='divRight'></div>"; |
|||
|
|||
// Bottom杈规
|
|||
var divBottom ="<div style='"+becurr+"bottom:-2px;right:-2px;width:0px;height:2px' class='divBottom'></div>"; |
|||
|
|||
// Left杈规
|
|||
var divLeft ="<div style='"+becurr+"bottom:-2px;left:-2px;width:2px;height:0px;' class='divLeft'></div>"; |
|||
_this.hover(function(){ |
|||
el = $(this) |
|||
el.append(divTop,divRight,divBottom,divLeft); |
|||
num3 = new than(el) |
|||
num3.thsn() |
|||
_thisTopBottom.animate({width:n1+3.5},options.speed); |
|||
_thisRightLeft.animate({height:h1+3.5},options.speed); |
|||
},function(){ |
|||
_thisTopBottom.animate({width:0},options.speed); |
|||
_thisRightLeft.animate({height:0},options.speed,function(){ |
|||
_thisAll.remove() |
|||
}); |
|||
}) |
|||
} |
|||
|
|||
function num4(){ |
|||
// top杈规
|
|||
var divTop ="<div style='"+becurr+"top:-2px;left:-2px;width:0px;height:2px' class='divTop'></div>"; |
|||
|
|||
// right杈规
|
|||
var divRight ="<div style='"+becurr+"top:-2px;right:-2px;width:2px;height:0px;' class='divRight'></div>"; |
|||
|
|||
// Bottom杈规
|
|||
var divBottom ="<div style='"+becurr+"bottom:-2px;right:-2px;width:0px;height:2px' class='divBottom'></div>"; |
|||
|
|||
// Left杈规
|
|||
var divLeft ="<div style='"+becurr+"bottom:-2px;left:-2px;width:2px;height:0px;' class='divLeft'></div>"; |
|||
_this.hover(function(){ |
|||
el =$(this) |
|||
el.append(divTop,divRight,divBottom,divLeft); |
|||
num4 = new than(el) |
|||
num4.thsn() |
|||
_thisTop.animate({width:n1+3.5},options.speed,function(){ |
|||
_thisRight.animate({height:h1+3.5},options.speed,function(){ |
|||
_thisBottom.animate({width:n1+3.5},options.speed,function(){ |
|||
_thisLeft.animate({height:h1+3.5},options.speed) |
|||
}); |
|||
}); |
|||
}) |
|||
},function(){ |
|||
_thisAll.stop() |
|||
_thisLeft.animate({height:0},options.speed,function(){ |
|||
_thisBottom.animate({width:0},options.speed,function(){ |
|||
_thisRight.animate({height:0},options.speed,function(){ |
|||
_thisTop.animate({width:0},options.speed,function(){ |
|||
_thisAll.remove() |
|||
}) |
|||
}); |
|||
}); |
|||
}) |
|||
|
|||
}) |
|||
} |
|||
|
|||
function num5(){ |
|||
// top杈规
|
|||
var divTop ="<div style='"+becurr+"top:-2px;left:-2px;width:0px;height:2px' class='divTop'></div>"; |
|||
|
|||
// right杈规
|
|||
var divRight ="<div style='"+becurr+"top:-2px;right:-2px;width:2px;height:0px;' class='divRight'></div>"; |
|||
|
|||
// Bottom杈规
|
|||
var divBottom ="<div style='"+becurr+"bottom:-2px;right:-2px;width:0px;height:2px' class='divBottom'></div>"; |
|||
|
|||
// Left杈规
|
|||
var divLeft ="<div style='"+becurr+"bottom:-2px;left:-2px;width:2px;height:0px;' class='divLeft'></div>"; |
|||
_this.hover(function(){ |
|||
el = $(this) |
|||
el.append(divTop,divRight,divBottom,divLeft); |
|||
num5 = new than(el) |
|||
num5.thsn() |
|||
_thisTopBottom.animate({width:n1+3.5},options.speed,function(){ |
|||
_thisRightLeft.animate({height:h1+3.5},options.speed); |
|||
}); |
|||
|
|||
},function(){ |
|||
_thisTopBottom.animate({width:0},options.speed,function(){ |
|||
_thisRightLeft.animate({height:0},options.speed,function(){ |
|||
_thisAll.remove() |
|||
}); |
|||
}); |
|||
|
|||
}) |
|||
} |
|||
|
|||
function num6(){ |
|||
// top杈规
|
|||
var divTop ="<div style='"+becurr+"top:-2px;left:"+n1/2+"px;width:0;height:2px' class='divTop'></div>"; |
|||
|
|||
// right杈规
|
|||
var divRight ="<div style='"+becurr+"top:"+h1/2+"px;right:-2px;width:2px;height:0;' class='divRight'></div>"; |
|||
|
|||
// Bottom杈规
|
|||
var divBottom ="<div style='"+becurr+"bottom:-2px;right:"+n1/2+"px;width:0;height:2px' class='divBottom'></div>"; |
|||
|
|||
// Left杈规
|
|||
var divLeft ="<div style='"+becurr+"bottom:"+h1/2+"px;left:-2px;width:2px;height:0;' class='divLeft'></div>"; |
|||
|
|||
_this.hover(function(){ |
|||
el = $(this) |
|||
el.append(divTop,divRight,divBottom,divLeft); |
|||
num6 = new than(el) |
|||
num6.thsn() |
|||
_thisTopBottom.animate({width:n1+3.5,left:-2},options.speed); |
|||
_thisRightLeft.animate({height:h1+3.5,top:-2},options.speed); |
|||
},function(){ |
|||
_thisTopBottom.animate({width:0,left:n1/2},options.speed); |
|||
_thisRightLeft.animate({height:0,top:h1/2},options.speed,function(){ |
|||
_thisAll.remove() |
|||
}); |
|||
}) |
|||
} |
|||
|
|||
|
|||
function num7(){ |
|||
|
|||
|
|||
_this.hover(function(){ |
|||
// top杈规
|
|||
var divTop ="<div style='"+becurr+"top: 0;left: 0;width: 100%;right: 0;bottom: 0;height: 0;margin: auto;border-radius:0;' class='divTop'></div>"; |
|||
el = $(this) |
|||
el.append(divTop); |
|||
num7 = new than(el) |
|||
num7.thsn() |
|||
_thisTop.animate({height:'100%'},options.speed) |
|||
},function(){ |
|||
_thisTop.animate({height:'0'},options.speed,function(){ |
|||
_thisTop.remove() |
|||
}) |
|||
}) |
|||
} |
|||
|
|||
function num8(){ |
|||
// top杈规
|
|||
var divRight ="<div style='"+becurr+"top: 0;left: 0;right: 0;bottom: 0;width: 0;height: 100%;margin: auto;border-radius:0;' class='divRight'></div>"; |
|||
|
|||
_this.hover(function(){ |
|||
el = $(this) |
|||
el.append(divRight); |
|||
num7 = new than(el) |
|||
num7.thsn() |
|||
_thisRight.animate({width:'100%'},options.speed) |
|||
},function(){ |
|||
_thisRight.animate({width:'0'},options.speed,function(){ |
|||
_thisRight.remove() |
|||
}) |
|||
}) |
|||
} |
|||
|
|||
function num9(){ |
|||
// top杈规
|
|||
var divTop ="<div style='"+becurr+"top: 0;left: 0;right: 0;bottom: 0;width: 0;height: 0;margin: auto;border-radius:0;' class='divTop'></div>"; |
|||
|
|||
|
|||
_this.hover(function(){ |
|||
el = $(this) |
|||
el.append(divTop); |
|||
num7 = new than(el) |
|||
num7.thsn() |
|||
_thisTop.animate({width:'100%',height:'100%'},options.speed) |
|||
},function(){ |
|||
_thisTop.animate({width:'0',height:'0'},options.speed,function(){ |
|||
_thisTop.remove() |
|||
}) |
|||
}) |
|||
} |
|||
|
|||
} |
|||
})(jQuery); |
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
File diff suppressed because it is too large
@ -0,0 +1,81 @@ |
|||
var _0x89fd = ["maps", "fn", "extend", "length", "ul", "children", "", "append", "each", "li", "find", ".venus-menu", "<li class='showhide'><span class='title'>Menu</span><span class='icon'><em></em><em></em><em></em><em></em></span></li>", "prepend", "resize", "unbind", "li, a", "hide", "innerWidth", ".venus-menu > li:not(.showhide)", "slide-left", "removeClass", "mouseleave", "zoom-out", "speed", "fadeOut", "stop", "bind", "mouseover", "addClass", "fadeIn", ".venus-menu li", "click", "display", "css", "siblings", "none", "slideDown", "slideUp", "a", ".venus-menu li:not(.showhide)", "show", ".venus-menu > li.showhide", ":hidden", "is", ".venus-menu > li"]; |
|||
$[_0x89fd[1]][_0x89fd[0]] = function(_0x2091x1) { |
|||
var _0x2091x2 = { |
|||
speed: 300 |
|||
}; |
|||
$[_0x89fd[2]](_0x2091x2, _0x2091x1); |
|||
var _0x2091x3 = 0; |
|||
$(_0x89fd[11])[_0x89fd[10]](_0x89fd[9])[_0x89fd[8]](function() { |
|||
if ($(this)[_0x89fd[5]](_0x89fd[4])[_0x89fd[3]] > 0) { |
|||
$(this)[_0x89fd[7]](_0x89fd[6]); |
|||
}; |
|||
}); |
|||
$(_0x89fd[11])[_0x89fd[13]](_0x89fd[12]); |
|||
_0x2091x4(); |
|||
$(window)[_0x89fd[14]](function() { |
|||
_0x2091x4(); |
|||
}); |
|||
|
|||
function _0x2091x4() { |
|||
$(_0x89fd[11])[_0x89fd[10]](_0x89fd[16])[_0x89fd[15]](); |
|||
$(_0x89fd[11])[_0x89fd[10]](_0x89fd[4])[_0x89fd[17]](0); |
|||
// if (window[_0x89fd[18]] <= 768) {
|
|||
// _0x2091x7();
|
|||
// _0x2091x6();
|
|||
// if (_0x2091x3 == 0) {
|
|||
// $(_0x89fd[19])[_0x89fd[17]](0);
|
|||
// };
|
|||
// } else {
|
|||
_0x2091x8(); |
|||
_0x2091x5(); |
|||
// };
|
|||
}; |
|||
|
|||
function _0x2091x5() { |
|||
$(_0x89fd[11])[_0x89fd[10]](_0x89fd[4])[_0x89fd[21]](_0x89fd[20]); |
|||
$(_0x89fd[31])[_0x89fd[27]](_0x89fd[28], function() { |
|||
$(this)[_0x89fd[5]](_0x89fd[4])[_0x89fd[26]](true, true)[_0x89fd[30]](_0x2091x2[_0x89fd[24]])[_0x89fd[29]](_0x89fd[23]); |
|||
})[_0x89fd[27]](_0x89fd[22], function() { |
|||
$(this)[_0x89fd[5]](_0x89fd[4])[_0x89fd[26]](true, true)[_0x89fd[25]](_0x2091x2[_0x89fd[24]])[_0x89fd[21]](_0x89fd[23]); |
|||
}); |
|||
}; |
|||
|
|||
function _0x2091x6() { |
|||
$(_0x89fd[11])[_0x89fd[10]](_0x89fd[4])[_0x89fd[21]](_0x89fd[23]); |
|||
$(_0x89fd[40])[_0x89fd[8]](function() { |
|||
if ($(this)[_0x89fd[5]](_0x89fd[4])[_0x89fd[3]] > 0) { |
|||
$(this)[_0x89fd[5]](_0x89fd[39])[_0x89fd[27]](_0x89fd[32], function() { |
|||
if ($(this)[_0x89fd[35]](_0x89fd[4])[_0x89fd[34]](_0x89fd[33]) == _0x89fd[36]) { |
|||
$(this)[_0x89fd[35]](_0x89fd[4])[_0x89fd[37]](300)[_0x89fd[29]](_0x89fd[20]); |
|||
_0x2091x3 = 1; |
|||
} else { |
|||
$(this)[_0x89fd[35]](_0x89fd[4])[_0x89fd[38]](300)[_0x89fd[21]](_0x89fd[20]); |
|||
}; |
|||
}); |
|||
}; |
|||
}); |
|||
}; |
|||
|
|||
function _0x2091x7() { |
|||
$(_0x89fd[42])[_0x89fd[41]](0); |
|||
$(_0x89fd[42])[_0x89fd[27]](_0x89fd[32], function() { |
|||
if ($(_0x89fd[45])[_0x89fd[44]](_0x89fd[43])) { |
|||
$(_0x89fd[45])[_0x89fd[37]](300); |
|||
_0x2091x3 = 1; |
|||
} else { |
|||
$(_0x89fd[19])[_0x89fd[38]](300); |
|||
$(_0x89fd[42])[_0x89fd[41]](0); |
|||
_0x2091x3 = 0; |
|||
}; |
|||
}); |
|||
}; |
|||
|
|||
function _0x2091x8() { |
|||
$(_0x89fd[45])[_0x89fd[41]](0); |
|||
$(_0x89fd[42])[_0x89fd[17]](0); |
|||
}; |
|||
}; |
|||
|
|||
$(document).ready(function(){ |
|||
$().maps(); |
|||
}); |
|||
@ -0,0 +1,202 @@ |
|||
/** |
|||
* 分页插件 |
|||
* 2017/8/4 |
|||
* author 我已不是前奏丶 |
|||
* github:https://github.com/myprelude/pagination.git
|
|||
* 关注技术交流群:621373454 |
|||
*/ |
|||
!function(){ |
|||
var root = this||(0,eval)('this'); |
|||
var Page = function(config){ |
|||
return new Page.prototype.init(config); |
|||
} |
|||
Page.prototype={ |
|||
constructor:Page, |
|||
init:function(config){ |
|||
this.box = config.box;//存放分页器的容器
|
|||
this.count = config.count;//总的页码数
|
|||
this.num = config.num ||3;//一页显示的个数
|
|||
this.href = config.href ||'';//a标签跳转路径
|
|||
this.page = config.page || 1;//当前页面
|
|||
this.step = config.step ||3;//每次移动的步长
|
|||
this.callBack = config.callBack;//通过ajax 异步执行回调方法
|
|||
this.nextFun = config.next;//下一页的回调
|
|||
this.preFun = config.pre;//上一页的回调
|
|||
this.create(); |
|||
}, |
|||
create:function(){ |
|||
var aNum = this.count-this.num,a='',_this=this,dom=''; |
|||
if(this.href){ |
|||
if(aNum>0){ |
|||
var n = this.count-this.page-this.num+1; |
|||
if(n>=0){ |
|||
for(var i=0;i<this.num;i++){ |
|||
var pagenumber = this.page+i; |
|||
a+= "<a href='"+this.href+pagenumber+"' class="+(i==0?'active':'')+">"+pagenumber+"</a>"; |
|||
} |
|||
}else{ |
|||
for(var i=n;i<this.count-this.page+1;i++){ |
|||
a+= "<a href='"+this.href+(this.page+i)+"' class="+(this.page+i==this.page?'active':'')+">"+(this.page+i)+"</a>"; |
|||
} |
|||
} |
|||
}else{ |
|||
for(var i=0;i<this.count;i++){ |
|||
a+= "<a href='"+this.href+(1+i)+"' class="+(this.page==(1+i)?'active':'')+">"+(1+i)+"</a>"; |
|||
} |
|||
} |
|||
var preurl='',nexturl=''; |
|||
preurl=this.page==1?this.href+this.page:this.href+(--this.page); |
|||
nexturl=this.page==this.count?this.href+this.page:this.href+(++this.page+this.num); |
|||
dom = '<div class="page-contain"><a href="'+preurl+'"><</a><div class="page-box">'+a+'</div><a href="'+nexturl+'">></a></div>'; |
|||
}else{ |
|||
if(aNum<0){ |
|||
for(var i=0;i<this.count;i++){ |
|||
a+= "<a href='javascript:void(0);' class="+(i==0?'active':'')+">"+(1+i)+"</a>"; |
|||
} |
|||
}else{ |
|||
for(var i=0;i<this.num;i++){ |
|||
a+= "<a href='javascript:void(0);' class='"+(i==0?'active':'')+" "+(this.num-i==1?'page-next':'')+"'>"+(1+i)+"</a>"; |
|||
} |
|||
} |
|||
dom = '<div class="page-contain"><a href="javascript:void(0);" class="goPre"><</a><div class="page-box">'+a+'</div><a href="javascript:void(0);" class="goNext">></a></div>'; |
|||
} |
|||
|
|||
var id = document.getElementById(_this.box); |
|||
id.innerHTML=dom; |
|||
var contain = id.getElementsByClassName('page-contain')[0]; |
|||
var box = id.getElementsByClassName('page-box')[0]; |
|||
var next = id.getElementsByClassName('page-next')[0]; |
|||
var goNext = id.getElementsByClassName('goNext')[0]; |
|||
var goPre = id.getElementsByClassName('goPre')[0]; |
|||
if(!_this.href){ |
|||
box.addEventListener('click',function(e){ |
|||
if(e.target.className&&e.target.className.indexOf('page-next')>-1){ |
|||
_this.next(box); |
|||
} |
|||
}) |
|||
box.addEventListener('click',function(e){ |
|||
if(e.target.className&&e.target.className.indexOf('page-pre')>-1){ |
|||
_this.pre(box); |
|||
} |
|||
}) |
|||
goPre.addEventListener('click',function(){ |
|||
for(var i=0,j;i<box.childNodes.length;i++){ |
|||
if(box.childNodes[i].className.indexOf('active')>-1){ |
|||
j=i; |
|||
} |
|||
} |
|||
if(box.childNodes[j].innerHTML==1)return; |
|||
if(_this.count<=_this.num){ |
|||
if(j==0)return; |
|||
box.childNodes[i].className=''; |
|||
box.childNodes[i-1].className+=" active"; |
|||
return; |
|||
} |
|||
if(j==1){ |
|||
_this.pre(box); |
|||
}else{ |
|||
box.childNodes[j].className=box.childNodes[j].className.replace('active',''); |
|||
box.childNodes[j-1].className+=" active"; |
|||
} |
|||
var n = box .getElementsByClassName('active')[0].innerHTML; |
|||
_this.preFun&&_this.preFun(Number(n)); |
|||
|
|||
}) |
|||
goNext.addEventListener('click',function(){ |
|||
for(var i=0,j;i<box.childNodes.length;i++){ |
|||
if(box.childNodes[i].className.indexOf('active')>-1){ |
|||
if(box.childNodes[i].innerHTML==_this.count){return} |
|||
j=i+1; |
|||
} |
|||
box.childNodes[i].className=box.childNodes[i].className.replace('active',''); |
|||
} |
|||
if(_this.count<=_this.num){ |
|||
box.childNodes[j].className='active'; |
|||
return; |
|||
} |
|||
if(j==_this.num-1){ |
|||
_this.next(box); |
|||
}else{ |
|||
box.childNodes[j].className='active'; |
|||
} |
|||
var n = box .getElementsByClassName('active')[0].innerHTML; |
|||
_this.nextFun&&_this.nextFun(Number(n)); |
|||
}) |
|||
box.addEventListener('click',function(e){ |
|||
if(e.target.nodeName=='A'){ |
|||
for(var i=0;i<box.childNodes.length;i++){ |
|||
box.childNodes[i].className=box.childNodes[i].className.replace('active',''); |
|||
} |
|||
e.target.className+=" active"; |
|||
_this.callBack&&_this.callBack(Number(e.target.innerHTML)); |
|||
} |
|||
}) |
|||
} |
|||
|
|||
}, |
|||
next:function(box){ |
|||
var _this=this; |
|||
var n = box.childNodes[_this.num-1].innerHTML*1; |
|||
box.childNodes[_this.num-1].className = ''; |
|||
if(n==_this.count){box.childNodes[_this.num-1].className = 'active';return;} |
|||
var s = _this.count-n-_this.step; |
|||
if(s>0){ |
|||
for(var i=0;i<_this.step;i++){ |
|||
box.removeChild(box.childNodes[0]); |
|||
box.childNodes[0].className='page-pre'; |
|||
box.childNodes[_this.num-1-_this.step].className+=' active'; |
|||
box.childNodes[_this.num-2-_this.step].className = box.childNodes[_this.num-2-_this.step].className.replace('active',''); |
|||
var dom = "<a href='javascript:void(0);' class="+(_this.step==(i+1)?'page-next':'')+">"+(1+i+n)+"</a>" |
|||
box.appendChild(returnDom(dom)); |
|||
} |
|||
box.childNodes[_this.num-2-_this.step].className=box.childNodes[_this.num-2-_this.step].className.replace('active',''); |
|||
}else{ |
|||
for(var i=0;i<_this.step+s;i++){ |
|||
box.removeChild(box.childNodes[0]); |
|||
box.childNodes[0].className+=' page-pre'; |
|||
var dom = "<a href='javascript:void(0);' class="+((_this.step+s)==(i+1)&&((1+i+n)!=_this.count)?'page-next':'')+">"+(1+i+n)+"</a>"; |
|||
box.appendChild(returnDom(dom)); |
|||
} |
|||
box.childNodes[_this.num-_this.count+n-1].className+=' active'; |
|||
} |
|||
}, |
|||
pre:function(box){ |
|||
var _this=this; |
|||
var n = box.childNodes[0].innerHTML*1; |
|||
var s = n-_this.step; |
|||
if(s>0){ |
|||
box.childNodes[0].className=''; |
|||
box.childNodes[_this.num-_this.step-1].className='page-next'; |
|||
for(var i=0;i<_this.step;i++){ |
|||
box.removeChild(box.childNodes[ _this.num-1]); |
|||
var dom = "<a href='javascript:void(0);' class="+(i==(_this.step-1)&&((n-i-1)!=1)?'page-pre':'')+">"+(n-i-1)+"</a>"; |
|||
box.insertBefore(returnDom(dom),box.childNodes[0]); |
|||
} |
|||
box.childNodes[_this.step].className+=' active'; |
|||
box.childNodes[_this.step+1].className = box.childNodes[_this.step+1].className.replace('active',''); |
|||
}else{ |
|||
if(n==1){ |
|||
box.childNodes[0].className='active'; |
|||
box.childNodes[1].className=''; |
|||
return; |
|||
} |
|||
for(var i=0;i<n-1;i++){ |
|||
box.removeChild(box.childNodes[_this.num-1]); |
|||
var dom= "<a href='javascript:void(0);' >"+(i+1)+"</a>"; |
|||
box.insertBefore(returnDom(dom),box.childNodes[i]); |
|||
} |
|||
box.childNodes[n].className=''; |
|||
box.childNodes[_this.num-1].className='page-next'; |
|||
box.childNodes[n-1].className='active'; |
|||
} |
|||
} |
|||
} |
|||
Page.prototype.init.prototype = Page.prototype; |
|||
//字符串转化为函数
|
|||
function returnDom(dom){ |
|||
var div = document.createElement('div'); |
|||
div.innerHTML = dom; |
|||
return div.childNodes[0]; |
|||
} |
|||
root['page'] = Page; |
|||
}(); |
|||
@ -0,0 +1,152 @@ |
|||
|
|||
(function($) { |
|||
|
|||
/*--------------------------- |
|||
Defaults for Reveal |
|||
----------------------------*/ |
|||
|
|||
/*--------------------------- |
|||
Listener for data-reveal-id attributes |
|||
----------------------------*/ |
|||
|
|||
$('a[data-reveal-id]').on('click', function(e) { |
|||
e.preventDefault(); |
|||
var modalLocation = $(this).attr('data-reveal-id'); |
|||
$('#'+modalLocation).reveal($(this).data()); |
|||
}); |
|||
|
|||
/*--------------------------- |
|||
Extend and Execute |
|||
----------------------------*/ |
|||
|
|||
$.fn.reveal = function(options) { |
|||
|
|||
|
|||
var defaults = { |
|||
animation: 'fadeAndPop', //fade, fadeAndPop, none
|
|||
animationspeed: 300, //how fast animtions are
|
|||
closeonbackgroundclick: true, //if you click background will modal close?
|
|||
dismissmodalclass: 'close-reveal-modal' //the class of a button or element that will close an open modal
|
|||
}; |
|||
|
|||
//Extend dem' options
|
|||
var options = $.extend({}, defaults, options); |
|||
|
|||
return this.each(function() { |
|||
|
|||
/*--------------------------- |
|||
Global Variables |
|||
----------------------------*/ |
|||
var modal = $(this), |
|||
topMeasure = parseInt(modal.css('top')), |
|||
topOffset = modal.height() + topMeasure, |
|||
locked = false, |
|||
modalBG = $('.reveal-modal-bg'); |
|||
|
|||
/*--------------------------- |
|||
Create Modal BG |
|||
----------------------------*/ |
|||
if(modalBG.length == 0) { |
|||
modalBG = $('<div class="reveal-modal-bg" />').insertAfter(modal); |
|||
} |
|||
|
|||
/*--------------------------- |
|||
Open & Close Animations |
|||
----------------------------*/ |
|||
//Entrance Animations
|
|||
modal.bind('reveal:open', function () { |
|||
modalBG.unbind('click.modalEvent'); |
|||
$('.' + options.dismissmodalclass).unbind('click.modalEvent'); |
|||
if(!locked) { |
|||
lockModal(); |
|||
if(options.animation == "fadeAndPop") { |
|||
modal.css({'top': $(document).scrollTop()-topOffset, 'opacity' : 0, 'visibility' : 'visible'}); |
|||
modalBG.fadeIn(options.animationspeed/2); |
|||
modal.delay(options.animationspeed/2).animate({ |
|||
"top": $(document).scrollTop()+topMeasure + 'px', |
|||
"opacity" : 1 |
|||
}, options.animationspeed,unlockModal()); |
|||
} |
|||
if(options.animation == "fade") { |
|||
modal.css({'opacity' : 0, 'visibility' : 'visible', 'top': $(document).scrollTop()+topMeasure}); |
|||
modalBG.fadeIn(options.animationspeed/2); |
|||
modal.delay(options.animationspeed/2).animate({ |
|||
"opacity" : 1 |
|||
}, options.animationspeed,unlockModal()); |
|||
} |
|||
if(options.animation == "none") { |
|||
modal.css({'visibility' : 'visible', 'top':$(document).scrollTop()+topMeasure}); |
|||
//modalBG.css({"display":"block"});
|
|||
unlockModal() |
|||
} |
|||
} |
|||
modal.unbind('reveal:open'); |
|||
}); |
|||
|
|||
//Closing Animation
|
|||
modal.bind('reveal:close', function () { |
|||
if(!locked) { |
|||
lockModal(); |
|||
if(options.animation == "fadeAndPop") { |
|||
modalBG.delay(options.animationspeed).fadeOut(options.animationspeed); |
|||
modal.animate({ |
|||
"top": $(document).scrollTop()-topOffset + 'px', |
|||
"opacity" : 0 |
|||
}, options.animationspeed/2, function() { |
|||
modal.css({'top':topMeasure, 'opacity' : 1, 'visibility' : 'hidden'}); |
|||
unlockModal(); |
|||
}); |
|||
} |
|||
if(options.animation == "fade") { |
|||
modalBG.delay(options.animationspeed).fadeOut(options.animationspeed); |
|||
modal.animate({ |
|||
"opacity" : 0 |
|||
}, options.animationspeed, function() { |
|||
modal.css({'opacity' : 1, 'visibility' : 'hidden', 'top' : topMeasure}); |
|||
unlockModal(); |
|||
}); |
|||
} |
|||
if(options.animation == "none") { |
|||
modal.css({'visibility' : 'hidden', 'top' : topMeasure}); |
|||
modalBG.css({'display' : 'none'}); |
|||
} |
|||
} |
|||
modal.unbind('reveal:close'); |
|||
}); |
|||
|
|||
/*--------------------------- |
|||
Open and add Closing Listeners |
|||
----------------------------*/ |
|||
//Open Modal Immediately
|
|||
modal.trigger('reveal:open') |
|||
|
|||
//Close Modal Listeners
|
|||
var closeButton = $('.' + options.dismissmodalclass).bind('click.modalEvent', function () { |
|||
modal.trigger('reveal:close') |
|||
}); |
|||
|
|||
if(options.closeonbackgroundclick) { |
|||
modalBG.css({"cursor":"pointer"}) |
|||
modalBG.bind('click.modalEvent', function () { |
|||
modal.trigger('reveal:close') |
|||
}); |
|||
} |
|||
$('body').keyup(function(e) { |
|||
if(e.which===27){ modal.trigger('reveal:close'); } // 27 is the keycode for the Escape key
|
|||
}); |
|||
|
|||
|
|||
/*--------------------------- |
|||
Animations Locks |
|||
----------------------------*/ |
|||
function unlockModal() { |
|||
locked = false; |
|||
} |
|||
function lockModal() { |
|||
locked = true; |
|||
} |
|||
|
|||
});//each call
|
|||
}//orbit plugin call
|
|||
})(jQuery); |
|||
|
|||
@ -0,0 +1,92 @@ |
|||
/** |
|||
* selectFilter --v1.1 |
|||
* |
|||
* author: 840399345@qq.com |
|||
* |
|||
* $(el).selectFilter(options); |
|||
* |
|||
* options={ |
|||
* callBack : function (res){} // 返回选中的值 进行事件操作
|
|||
* } |
|||
* |
|||
* 也可以放在表单直接获取 select标签的 值 |
|||
* |
|||
**/ |
|||
|
|||
;jQuery.fn.selectFilter = function (options){ |
|||
var defaults = { |
|||
callBack : function (res){} |
|||
}; |
|||
var ops = $.extend({}, defaults, options); |
|||
var selectList = $(this).find('select option'); |
|||
var that = this; |
|||
var html = ''; |
|||
|
|||
// 读取select 标签的值
|
|||
html += '<ul class="filter-list">'; |
|||
|
|||
$(selectList).each(function (idx, item){ |
|||
var val = $(item).val(); |
|||
var valText = $(item).html(); |
|||
var selected = $(item).attr('selected'); |
|||
var disabled = $(item).attr('disabled'); |
|||
var isSelected = selected ? 'filter-selected' : ''; |
|||
var isDisabled = disabled ? 'filter-disabled' : ''; |
|||
if(selected) { |
|||
html += '<li class="'+ isSelected +'" data-value="'+val+'"><a title="'+valText+'">'+valText+'</a></li>'; |
|||
$(that).find('.filter-title').val(valText); |
|||
}else if (disabled){ |
|||
html += '<li class="'+ isDisabled +'" data-value="'+val+'"><a>'+valText+'</a></li>'; |
|||
}else { |
|||
html += '<li data-value="'+val+'"><a title="'+valText+'">'+valText+'</a></li>'; |
|||
}; |
|||
}); |
|||
|
|||
html += '</ul>'; |
|||
$(that).append(html); |
|||
$(that).find('select').hide(); |
|||
|
|||
//点击选择
|
|||
$(that).on('click', '.filter-text', function (){ |
|||
$(that).find('.filter-list').slideToggle(100); |
|||
$(that).find('.filter-list').toggleClass('filter-open'); |
|||
$(that).find('.icon-filter-arrow').toggleClass('filter-show'); |
|||
}); |
|||
|
|||
//点击选择列表
|
|||
$(that).on('click','.filter-list li', function (){ |
|||
var val = $(this).data('value'); |
|||
var valText = $(this).find('a').html(); |
|||
$(that).find('.filter-title').val(valText); |
|||
$(that).find('.icon-filter-arrow').toggleClass('filter-show'); |
|||
$(this).addClass('filter-selected').siblings().removeClass('filter-selected'); |
|||
$(this).parent().slideToggle(50); |
|||
for(var i=0; i<$(this).parent().parent().find('select option').length; i++){ |
|||
var selectVal = $(this).parent().parent().find('select option').eq(i).val(); |
|||
if(val == selectVal) { |
|||
$(that).find('select').val(val); |
|||
}; |
|||
}; |
|||
ops.callBack(val); //返回值
|
|||
}); |
|||
|
|||
//其他元素被点击则收起选择
|
|||
$(document).on('mousedown', function(e){ |
|||
closeSelect(that, e); |
|||
}); |
|||
$(document).on('touchstart', function(e){ |
|||
closeSelect(that, e); |
|||
}); |
|||
|
|||
function closeSelect(that, e) { |
|||
var filter = $(that).find('.filter-list'), |
|||
filterEl = $(that).find('.filter-list')[0]; |
|||
var filterBoxEl = $(that)[0]; |
|||
var target = e.target; |
|||
if(filterEl !== target && !$.contains(filterEl, target) && !$.contains(filterBoxEl, target)) { |
|||
filter.slideUp(50); |
|||
$(that).find('.filter-list').removeClass('filter-open'); |
|||
$(that).find('.icon-filter-arrow').removeClass('filter-show'); |
|||
}; |
|||
} |
|||
}; |
|||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Loading…
Reference in new issue