first
|
After Width: | Height: | Size: 1.6 KiB |
|
After Width: | Height: | Size: 14 KiB |
|
After Width: | Height: | Size: 56 B |
|
After Width: | Height: | Size: 185 KiB |
|
After Width: | Height: | Size: 18 KiB |
|
After Width: | Height: | Size: 29 KiB |
|
|
@ -0,0 +1 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 44 44"><title>chevron-circle-down@1x</title><g id="Layer_2" data-name="Layer 2"><g id="Arrows"><g id="Down_Arrow_3_2x.png" data-name="Down Arrow 3@2x.png"><path d="M33,18a1,1,0,0,0-.71.29L22,27.65,11.71,18.29a1,1,0,1,0-1.41,1.41l11,10a1,1,0,0,0,1.41,0l11-10A1,1,0,0,0,33,18ZM22,0A22,22,0,1,0,44,22,22,22,0,0,0,22,0Zm0,42A20,20,0,1,1,42,22,20,20,0,0,1,22,42Z"/></g></g></g></svg>
|
||||
|
After Width: | Height: | Size: 431 B |
|
After Width: | Height: | Size: 2.7 KiB |
|
After Width: | Height: | Size: 559 B |
|
After Width: | Height: | Size: 29 KiB |
|
After Width: | Height: | Size: 224 B |
|
After Width: | Height: | Size: 137 KiB |
|
After Width: | Height: | Size: 4.2 KiB |
|
After Width: | Height: | Size: 5.4 KiB |
|
After Width: | Height: | Size: 4.1 KiB |
|
After Width: | Height: | Size: 276 KiB |
|
After Width: | Height: | Size: 3.6 KiB |
|
After Width: | Height: | Size: 4.1 KiB |
|
After Width: | Height: | Size: 261 B |
|
After Width: | Height: | Size: 3.2 KiB |
|
After Width: | Height: | Size: 2.1 KiB |
|
After Width: | Height: | Size: 81 KiB |
|
After Width: | Height: | Size: 3.8 KiB |
|
|
@ -0,0 +1 @@
|
|||
!function($){"use strict";var t={fadeEffect:!0,effectTime:.5},i=$(window),e=function(t,i){var e=document.createElement("img"),s;t.data("bullseyeImage")?(t.html('<img src="'+t.data("bullseyeImage")+'">'),s=t.data("bullseyeImage")):(s=t.find("img").first().attr("src"),t.data("bullseyeImage",s)),i.fadeEffect&&t.find("img").first().css({opacity:0}),e.src=s,e.onload=function(){n(t,i)}},n=function(t,i){var e=t.find("img").first(),n={position:"relative",overflow:"hidden"},o={position:"absolute",top:0,right:0,bottom:0,left:0,margin:"auto",width:"100%",height:"auto"},a={start:{opacity:1,"-webkit-transition":"opacity "+i.effectTime+"s ease-in-out","-moz-transition":"opacity "+i.effectTime+"s ease-in-out","-o-transition":"opacity "+i.effectTime+"s ease-in-out",transition:"opacity "+i.effectTime+"s ease-in-out"},end:{opacity:"","-webkit-transition":"","-moz-transition":"","-o-transition":"",transition:""}};t.css(n),e.css(o),s(t),i.fadeEffect&&e.css(a.start).on("transitionend",function(){$(this).css(a.end)})},s=function(t){var i=t.find("img").first(),e=t.innerHeight(),n,s;n=i.height(),e>n?(s=e/n,i.css({"-webkit-transform":"scale("+s+")","-moz-transform":"scale("+s+")","-o-transform":"scale("+s+")",transform:"scale("+s+")"})):i.css({"-webkit-transform":"","-moz-transform":"","-o-transform":"",transform:""})},o=function(t,n){e(t,n),i.on("resize",function(){s(t)})};$.fn.bullseye=function(i){var e=$.extend({},t,i);return this.each(function(){var t=$(this);o(t,e)})}}(window.jQuery);
|
||||
|
|
@ -0,0 +1,24 @@
|
|||
<table class="table table-hover table-striped active-index">
|
||||
<caption>
|
||||
<h3>{{page-title}}</h3>
|
||||
</caption>
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="col-md-2">{{th_category}}</th>
|
||||
<th class="col-md-2">{{th_act_time_range}}</th>
|
||||
<th class="col-md-5">{{th_title}}</th>
|
||||
<th class="col-md-2">{{th_sign_up_time_range}}</th>
|
||||
<th class="col-md-2">{{th_sign_up}}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody data-level="0" data-list="acts">
|
||||
<tr>
|
||||
<td>{{category}}</td>
|
||||
<td>{{act_start_date}} ~ <br /> {{act_end_date}}</td>
|
||||
<td>{{title}}</td>
|
||||
<td>{{sign_start_date}} ~ <br /> {{sign_end_date}}</td>
|
||||
<td>{{sign_up}}</i></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
{{pagination_goes_here}}
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
{
|
||||
"frontend": [
|
||||
{
|
||||
"filename" : "active_index",
|
||||
"name" : {
|
||||
"zh_tw" : "1. 列表",
|
||||
"en" : "1. List"
|
||||
},
|
||||
"thumbnail" : "thumb.png"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
After Width: | Height: | Size: 4.0 KiB |
|
|
@ -0,0 +1,86 @@
|
|||
<div class="w-ad-banner w-ba-banner ad-banner-widget-0 ba-banner-widget-0">
|
||||
<div class="w-ad-banner__wrap w-ba-banner__wrap cycle-slideshow"
|
||||
data-list="images"
|
||||
data-level="0"
|
||||
data-cycle-slides=".w-ba-banner__slide"
|
||||
data-cycle-log="false"
|
||||
data-overlay=".w-ad-banner__overlay_{{subpart-id}}"
|
||||
data-cycle-auto-height="{{base_image}}"
|
||||
data-cycle-speed="{{speed}}"
|
||||
data-cycle-timeout="{{timeout}}"
|
||||
data-cycle-fx="{{ad_fx}}"
|
||||
data-cycle-pager=".banner_caption_{{subpart-id}}"
|
||||
data-pager-template=""
|
||||
data-pager-active-class="active-slide"
|
||||
data-cycle-swipe=true
|
||||
data-cycle-swipe-fx="scrollHorz"
|
||||
>
|
||||
<div class="w-ad-banner__slide w-ba-banner__slide {{class}}"
|
||||
data-link="{{link}}"
|
||||
data-cycle-title="{{title}}"
|
||||
data-cycle-desc="{{context}}"
|
||||
data-overlay-template="<h3>{{title}}</h3><p>{{desc}}</p>"
|
||||
data-target="{{target}}"
|
||||
>
|
||||
<img class="w-ad-banner__image w-ba-banner__image banner-responsive" src="{{image_link}}" alt="{{alt_title}}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="w-ad-banner__caption ad-overlay w-ba-banner__caption w-ad-banner__caption w-ad-banner__overlay_{{subpart-id}}"></div>
|
||||
<div class="w-ad-banner__pager-1 w-ba-banner__caption banner-pager banner_caption_{{subpart-id}}" data-list="images" data-level="0">
|
||||
<li><button title="Slide {{slide_number}}" aria-label="Pager"><span style="display: none;">Slide {{slide_number}}</span></button></li>
|
||||
</div>
|
||||
<ul class="controlplay" role="radiogroup" aria-label="播放控制選項">
|
||||
<a role="radio" aria-checked="true" href="javascript:;" class="resume-slide active" title="繼續播放" aria-label="繼續播放" aria-live="assertive">
|
||||
<i aria-hidden="true"></i>
|
||||
<p style="display: none;"><%= I18n.t("ad_banner.resume") %></p>
|
||||
</a>
|
||||
|
||||
<a role="radio" aria-checked="false" href="javascript:;" class="pause-slide" title="暫停播放" aria-label="暫停播放" aria-live="assertive">
|
||||
<i aria-hidden="true"></i>
|
||||
<p style="display: none;"><%= I18n.t("ad_banner.pause") %></p>
|
||||
</a>
|
||||
</ul>
|
||||
<ul class="button-mid">
|
||||
<i class="fa fa-angle-left prev-button" aria-label="<%= I18n.t("ad_banner.prev") %>"></i>
|
||||
<i class="fa fa-angle-right next-button" aria-label="<%= I18n.t("ad_banner.next") %>"></i>
|
||||
</ul>
|
||||
</div>
|
||||
<script>
|
||||
$('[data-subpart-id="{{subpart-id}}"] .pause-slide').click(function(){
|
||||
$(this).parent("ul").parent('.w-ba-banner').find(".cycle-slideshow").cycle('pause');
|
||||
$(this).addClass('active')
|
||||
$(this).parents('.controlplay').eq(0).find('.resume-slide').removeClass('active')
|
||||
});
|
||||
$('[data-subpart-id="{{subpart-id}}"] .resume-slide').click(function(){
|
||||
$(this).parent("ul").parent('.w-ba-banner').find(".cycle-slideshow").cycle('resume');
|
||||
$(this).addClass('active')
|
||||
$(this).parents('.controlplay').eq(0).find('.pause-slide').removeClass('active')
|
||||
});
|
||||
$('[data-subpart-id="{{subpart-id}}"] .next-button').click(function(){
|
||||
$(this).parent("ul").parent('.w-ba-banner').find(".cycle-slideshow").cycle("next");
|
||||
|
||||
})
|
||||
$('[data-subpart-id="{{subpart-id}}"] .prev-button').click(function(){
|
||||
$(this).parent("ul").parent('.w-ba-banner').find(".cycle-slideshow").cycle("prev");
|
||||
})
|
||||
</script>
|
||||
<style type="text/css">
|
||||
.w-ba-banner .controlplay .resume-slide.active i{
|
||||
color: #32D9C3;
|
||||
}
|
||||
.w-ba-banner .controlplay .pause-slide.active i{
|
||||
color: #ff4500;
|
||||
}
|
||||
.w-ba-banner .controlplay{
|
||||
width: auto;
|
||||
}
|
||||
.w-ba-banner .button-mid{
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
height: 0;
|
||||
top: 50%;
|
||||
}
|
||||
.next-button,.prev-button{
|
||||
cursor: pointer;
|
||||
}
|
||||
</style>
|
||||
|
|
@ -0,0 +1,89 @@
|
|||
<div class="w-ad-banner w-ba-banner ad-banner-widget-1 ">
|
||||
<div class="w-ad-banner__wrap w-ba-banner__wrap cycle-slideshow"
|
||||
data-list="images"
|
||||
data-level="0"
|
||||
data-cycle-slides=".w-ba-banner__slide"
|
||||
data-cycle-log="false"
|
||||
data-overlay=".w-ad-banner__overlay_{{subpart-id}}"
|
||||
data-cycle-auto-height="{{base_image}}"
|
||||
data-cycle-speed="{{speed}}"
|
||||
data-cycle-timeout="{{timeout}}"
|
||||
data-cycle-fx="{{ad_fx}}"
|
||||
data-cycle-pager=".banner_caption_{{subpart-id}}"
|
||||
data-pager-template=""
|
||||
data-pager-active-class="active-slide"
|
||||
data-cycle-swipe=true
|
||||
data-cycle-swipe-fx="scrollHorz"
|
||||
>
|
||||
<div class="w-ad-banner__slide w-ba-banner__slide {{class}}"
|
||||
data-link="{{link}}"
|
||||
data-cycle-title="{{title}}"
|
||||
data-cycle-desc="{{context}}"
|
||||
data-overlay-template="<h3>{{title}}</h3><p>{{desc}}</p>"
|
||||
data-target="{{target}}"
|
||||
>
|
||||
<a href="{{link}}" target="{{target}}" title="{{alt_title}}">
|
||||
<img class="w-ad-banner__image w-ba-banner__image banner-responsive" src="{{image_link}}" alt="{{alt_title}}">
|
||||
</a>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="w-ad-banner__caption ad-overlay w-ba-banner__caption w-ad-banner__caption w-ad-banner__overlay_{{subpart-id}}"></div>
|
||||
<div class="w-ad-banner__pager-1 w-ba-banner__caption banner-pager banner_caption_{{subpart-id}}" data-list="images" data-level="0">
|
||||
<li><button title="Slide {{slide_number}}" aria-label="Pager"><span style="display: none;">Slide {{slide_number}}</span></button></li>
|
||||
</div>
|
||||
<ul class="controlplay" role="radiogroup" aria-label="播放控制選項">
|
||||
<a role="radio" aria-checked="true" href="javascript:;" class="resume-slide active" title="繼續播放" aria-label="繼續播放" aria-live="assertive">
|
||||
<i aria-hidden="true"></i>
|
||||
<p style="display: none;"><%= I18n.t("ad_banner.resume") %></p>
|
||||
</a>
|
||||
|
||||
<a role="radio" aria-checked="false" href="javascript:;" class="pause-slide" title="暫停播放" aria-label="暫停播放" aria-live="assertive">
|
||||
<i aria-hidden="true"></i>
|
||||
<p style="display: none;"><%= I18n.t("ad_banner.pause") %></p>
|
||||
</a>
|
||||
</ul>
|
||||
<ul class="button-mid">
|
||||
<i class="fa fa-angle-left prev-button" aria-label="<%= I18n.t("ad_banner.prev") %>"></i>
|
||||
<i class="fa fa-angle-right next-button" aria-label="<%= I18n.t("ad_banner.next") %>"></i>
|
||||
</ul>
|
||||
</div>
|
||||
<script>
|
||||
$('[data-subpart-id="{{subpart-id}}"] .pause-slide').click(function(){
|
||||
$(this).parent("ul").parent('.w-ba-banner').find(".cycle-slideshow").cycle('pause');
|
||||
$(this).addClass('active')
|
||||
$(this).parents('.controlplay').eq(0).find('.resume-slide').removeClass('active')
|
||||
});
|
||||
$('[data-subpart-id="{{subpart-id}}"] .resume-slide').click(function(){
|
||||
$(this).parent("ul").parent('.w-ba-banner').find(".cycle-slideshow").cycle('resume');
|
||||
$(this).addClass('active')
|
||||
$(this).parents('.controlplay').eq(0).find('.pause-slide').removeClass('active')
|
||||
});
|
||||
$('[data-subpart-id="{{subpart-id}}"] .next-button').click(function(){
|
||||
$(this).parent("ul").parent('.w-ba-banner').find(".cycle-slideshow").cycle("next");
|
||||
|
||||
})
|
||||
$('[data-subpart-id="{{subpart-id}}"] .prev-button').click(function(){
|
||||
$(this).parent("ul").parent('.w-ba-banner').find(".cycle-slideshow").cycle("prev");
|
||||
})
|
||||
</script>
|
||||
<style type="text/css">
|
||||
.w-ba-banner .controlplay .resume-slide.active i{
|
||||
color: #32D9C3;
|
||||
}
|
||||
.w-ba-banner .controlplay .pause-slide.active i{
|
||||
color: #ff4500;
|
||||
}
|
||||
.w-ba-banner .controlplay{
|
||||
width: auto;
|
||||
}
|
||||
.w-ba-banner .button-mid{
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
height: 0;
|
||||
top: 50%;
|
||||
}
|
||||
.next-button,.prev-button{
|
||||
cursor: pointer;
|
||||
}
|
||||
</style>
|
||||
|
|
@ -0,0 +1,11 @@
|
|||
<div class="w-ba-banner ba-banner-widget-10">
|
||||
<div class="w-ad-banner__wrap w-ba-banner__wrap "
|
||||
data-list="images"
|
||||
data-level="0"
|
||||
>
|
||||
<a class="bannerimgwrapper" href="{{link}}" target="{{target}}" title="{{alt_title}}">
|
||||
<img class="w-ba-banner__image" src="{{image_link}}" alt="{{alt_title}}">
|
||||
<div class="w-ad-banner__caption ad-overlay w-ba-banner__caption w-ad-banner__caption w-ad-banner__overlay_{{subpart-id}}">{{title}}</div>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -0,0 +1,79 @@
|
|||
<div class="w-ba-banner ba-banner-widget-2">
|
||||
<div class="w-ba-banner__wrap cycle-slideshow"
|
||||
data-list="images"
|
||||
data-level="0"
|
||||
data-cycle-slides=".w-ba-banner__slide"
|
||||
data-cycle-log="false"
|
||||
data-cycle-auto-height="{{base_image}}"
|
||||
data-cycle-speed="{{speed}}"
|
||||
data-cycle-timeout="{{timeout}}"
|
||||
data-cycle-fx="{{ad_fx}}"
|
||||
data-cycle-pager=".banner_caption_{{subpart-id}}"
|
||||
data-pager-template="<li><button></button></li>"
|
||||
data-pager-active-class="active-slide"
|
||||
data-cycle-youtube=true
|
||||
data-cycle-youtube-autostart=false
|
||||
data-cycle-swipe=true
|
||||
data-cycle-swipe-fx="scrollHorz"
|
||||
>
|
||||
<div class="w-ba-banner__slide {{class}}"
|
||||
data-link="{{link}}"
|
||||
data-cycle-title="{{title}}"
|
||||
data-cycle-desc="{{context}}"
|
||||
data-overlay-template="<h3>{{title}}</h3>{{desc}}"
|
||||
data-bs-target="{{target}}"
|
||||
>
|
||||
<a href="{{link}}" target="{{target}}" title="{{alt_title}}">
|
||||
<img class="w-ba-banner__image banner-responsive" src="{{image_link}}" alt="{{alt_title}}">
|
||||
</a>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<ul class="w-ba-banner__pager-2 banner-pager banner_caption_{{subpart-id}}"></ul>
|
||||
<ul class="controlplay" role="radiogroup" aria-label="播放控制選項">
|
||||
<a role="radio" aria-checked="true" href="javascript:;" class="resume-slide active" title="繼續播放" aria-label="繼續播放" aria-live="assertive">
|
||||
<i aria-hidden="true"></i>
|
||||
<p style="display: none;"><%= I18n.t("ad_banner.resume") %></p>
|
||||
</a>
|
||||
|
||||
<a role="radio" aria-checked="false" href="javascript:;" class="pause-slide" title="暫停播放" aria-label="暫停播放" aria-live="assertive">
|
||||
<i aria-hidden="true"></i>
|
||||
<p style="display: none;"><%= I18n.t("ad_banner.pause") %></p>
|
||||
</a>
|
||||
</ul>
|
||||
<ul class="button-mid">
|
||||
<i class="fa fa-angle-left prev-button" aria-label="<%= I18n.t("ad_banner.prev") %>"></i>
|
||||
<i class="fa fa-angle-right next-button" aria-label="<%= I18n.t("ad_banner.next") %>"></i>
|
||||
</ul>
|
||||
</div>
|
||||
<script>
|
||||
var flag = 1;
|
||||
$('.pause-slide').click(function(){
|
||||
$(this).parent("ul").parent('.w-ba-banner').find(".cycle-slideshow").cycle('pause');
|
||||
});
|
||||
$('.resume-slide').click(function(){
|
||||
$(this).parent("ul").parent('.w-ba-banner').find(".cycle-slideshow").cycle('resume');
|
||||
});
|
||||
$('.next-button').off('click').on('click',function(){
|
||||
$(this).parent("ul").parent('.w-ba-banner').find(".cycle-slideshow").cycle("next");
|
||||
|
||||
})
|
||||
$('.prev-button').off('click').on('click',function(){
|
||||
$(this).parent("ul").parent('.w-ba-banner').find(".cycle-slideshow").cycle("prev");
|
||||
});
|
||||
/* 修正點:處理 Pager 無障礙朗讀文字 */
|
||||
$('.cycle-slideshow').on('cycle-post-initialize', function(event, optionHash) {
|
||||
var $container = $(this).closest('.w-ba-banner');
|
||||
var $slides = $(this).find('.w-ba-banner__slide');
|
||||
var $pagerButtons = $container.find(".banner-pager button");
|
||||
|
||||
$pagerButtons.each(function(index) {
|
||||
var slideTitle = $slides.eq(index).data('cycle-title') || "";
|
||||
var ariaLabel = "第 " + (index + 1) + " 張投影片 " + slideTitle;
|
||||
$(this).attr({
|
||||
"aria-label": ariaLabel,
|
||||
"title": ariaLabel
|
||||
});
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
|
@ -0,0 +1,512 @@
|
|||
<div class="w-ad-banner ad-banner-widget-2 w-ba-banner ba-banner-widget-1 ba-banner-widget-youtube">
|
||||
<div class="w-ad-banner__wrap w-ba-banner__wrap cycle-slideshow"
|
||||
data-list="images"
|
||||
data-level="0"
|
||||
data-cycle-slides=".w-ba-banner__slide"
|
||||
data-cycle-log="false"
|
||||
data-overlay=".w-ad-banner__overlay_{{subpart-id}}"
|
||||
data-overlay-template="<h2><span>{{title}}</span></h2>{{desc}}"
|
||||
data-cycle-auto-height="{{base_image}}"
|
||||
data-cycle-speed="{{speed}}"
|
||||
data-cycle-timeout="{{timeout}}"
|
||||
data-cycle-fx="{{ad_fx}}"
|
||||
data-pager=".banner_caption_{{subpart-id}}"
|
||||
data-pager-template="<li><button title='pager' aria-label='Pager'></button></li>"
|
||||
data-pager-active-class="active-slide"
|
||||
data-cycle-youtube="true"
|
||||
data-cycle-youtube-autostart="false"
|
||||
data-cycle-swipe="true"
|
||||
data-cycle-prev=".banner_prev"
|
||||
data-cycle-next=".banner_next"
|
||||
data-cycle-pause-on-hover="true"
|
||||
>
|
||||
|
||||
{{html}}
|
||||
</div>
|
||||
<div class="ad-overlay w-ad-banner__overlay_{{subpart-id}}"></div>
|
||||
<div class="w-ba-banner__caption w-ad-banner__pager-2 banner-pager banner_caption_{{subpart-id}}"></div>
|
||||
<ul class="controlplay" role="radiogroup" aria-label="播放控制選項">
|
||||
<a role="radio" aria-checked="true" href="javascript:;" class="resume-slide active" title="繼續播放" aria-label="繼續播放" aria-live="assertive">
|
||||
<i aria-hidden="true"></i>
|
||||
<p style="display: none;"><%= I18n.t("ad_banner.resume") %></p>
|
||||
</a>
|
||||
|
||||
<a role="radio" aria-checked="false" href="javascript:;" class="pause-slide" title="暫停播放" aria-label="暫停播放" aria-live="assertive">
|
||||
<i aria-hidden="true"></i>
|
||||
<p style="display: none;"><%= I18n.t("ad_banner.pause") %></p>
|
||||
</a>
|
||||
</ul>
|
||||
<ul class="button-mid">
|
||||
<i class="fa fa-angle-left prev-button" aria-label="<%= I18n.t("ad_banner.prev") %>"></i>
|
||||
<i class="fa fa-angle-right next-button" aria-label="<%= I18n.t("ad_banner.next") %>"></i>
|
||||
</ul>
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
var ad_trigger_time;
|
||||
if (typeof ad_banners_count === 'undefined'){
|
||||
var ad_banners_count = 0;
|
||||
}
|
||||
var control_play_btn_pause = function(){
|
||||
this.attr('aria-label', '<%= I18n.t("ad_banner.resume") %>');
|
||||
this.attr('title', '<%= I18n.t("ad_banner.resume") %>');
|
||||
this.find('p').text('<%= I18n.t("ad_banner.resume") %>');
|
||||
this.find('i.fa-pause').removeClass('fa-pause').addClass('fa-play');
|
||||
}
|
||||
var control_play_btn_play = function(){
|
||||
this.attr('aria-label', '<%= I18n.t("ad_banner.pause") %>');
|
||||
this.attr('title', '<%= I18n.t("ad_banner.pause") %>');
|
||||
this.find('p').text('<%= I18n.t("ad_banner.pause") %>');
|
||||
this.find('i.fa-play').removeClass('fa-play').addClass('fa-pause');
|
||||
}
|
||||
function ad_audio_button(ele,is_stop){
|
||||
var $self = $(ele);
|
||||
var button_container = $self.parents('.ba-banner-widget-youtube').eq(0);
|
||||
var append_class = "";
|
||||
if (is_stop){
|
||||
button_container.find('.jarallax-video-audio').remove();
|
||||
var control_play_btn = $('.jarallax-video-control-play');
|
||||
if(control_play_btn.length){
|
||||
control_play_btn_pause.call(control_play_btn);
|
||||
}
|
||||
}else{
|
||||
var control_play_btn = null;
|
||||
if(window.accessibility_mode){
|
||||
append_class = " accessibility_mode_btn";
|
||||
var control_play_btn = $('.jarallax-video-control-play');
|
||||
if(control_play_btn.length){
|
||||
|
||||
control_play_btn_play.call(control_play_btn);
|
||||
control_play_btn = null;
|
||||
}else{
|
||||
control_play_btn = $('<button title="<%= I18n.t("ad_banner.pause") %>" class="jarallax-video-control-play"><i class="fas fa-pause" aria-label="<%= I18n.t("ad_banner.pause") %>" aria-hidden="true"></i><p style=\"display: none;\"><%= I18n.t("ad_banner.pause") %></p></button>');
|
||||
}
|
||||
}
|
||||
var audio_div;
|
||||
if ($self.hasClass('have-audio')){
|
||||
audio_div = $('<button title="<%= I18n.t("ad_banner.muted") %>" class="jarallax-video-audio'+append_class+'"><i class="fas fa-volume-up" aria-label="<%= I18n.t("ad_banner.muted") %>" aria-hidden="true"></i><p style=\"display: none;\"><%= I18n.t("ad_banner.muted") %></p></button>');
|
||||
}else{
|
||||
audio_div = $('<button title="<%= I18n.t("ad_banner.unmuted") %>" class="jarallax-video-audio'+append_class+'"><i class="fas fa-volume-mute" aria-label="<%= I18n.t("ad_banner.unmuted") %>" aria-hidden="true"></i><p style=\"display: none;\"><%= I18n.t("ad_banner.unmuted") %></p></button>');
|
||||
}
|
||||
audio_div.find('p').css('display','none'); //fix CSP
|
||||
audio_div.click(function(event) {
|
||||
var currentTime = new Date();
|
||||
if (ad_trigger_time&¤tTime-ad_trigger_time<500){
|
||||
return false;
|
||||
}else{
|
||||
ad_trigger_time = currentTime;
|
||||
}
|
||||
event.stopPropagation();
|
||||
var $video = $self.find('video');
|
||||
if ($self.hasClass('have-audio')){
|
||||
$self.removeClass('have-audio');
|
||||
$(this).attr('title','<%= I18n.t("ad_banner.unmuted") %>').find('i.fas').attr('class','fas fa-volume-mute').attr('aria-label','<%= I18n.t("ad_banner.unmuted") %>');
|
||||
}else{
|
||||
$self.addClass('have-audio');
|
||||
$(this).attr('title','<%= I18n.t("ad_banner.muted") %>').find('i.fas').attr('class','fas fa-volume-up').attr('aria-label','<%= I18n.t("ad_banner.muted") %>');
|
||||
}
|
||||
if ($video.length>0){
|
||||
$self.jPlayer("mute", !$self.data().jPlayer.options.muted);
|
||||
}else{//youtube
|
||||
var player = $self.find('iframe').data("yt_player");
|
||||
if (player.isMuted()){
|
||||
player.unMute();
|
||||
}else{
|
||||
player.mute();
|
||||
}
|
||||
}
|
||||
});
|
||||
button_container.find('.jarallax-video-audio').remove();
|
||||
var caption = button_container.find('.w-ba-banner__caption');
|
||||
var banner_overlay = button_container.find('.banner-overlay');
|
||||
if (banner_overlay.length) {
|
||||
audio_div.insertBefore(banner_overlay);
|
||||
} else {
|
||||
button_container.append(audio_div);
|
||||
}
|
||||
if(control_play_btn != null){
|
||||
if (banner_overlay.length) {
|
||||
control_play_btn.insertBefore(banner_overlay);
|
||||
} else {
|
||||
button_container.append(control_play_btn);
|
||||
}
|
||||
control_play_btn.click(function(){
|
||||
var cycle_slideshow = button_container.find('.cycle-slideshow');
|
||||
var opts = cycle_slideshow.data('cycle.opts');
|
||||
var active_slide = opts.slides.filter('.'+opts.slideActiveClass);
|
||||
if(active_slide.length){
|
||||
var yt_iframe = active_slide.find('iframe');
|
||||
if(yt_iframe.length == 0){
|
||||
var jplayer = active_slide.find('.jp-jplayer').data('jPlayer');
|
||||
if(jplayer){
|
||||
if(jplayer.htmlElement.video.paused){
|
||||
jplayer.play();
|
||||
}else{
|
||||
jplayer.pause();
|
||||
}
|
||||
}
|
||||
}else{
|
||||
if(window.yt_players){
|
||||
var subpart_id = button_container.attr('data-subpart-id');
|
||||
var subpart_yt_players = window.yt_players[subpart_id];
|
||||
if(subpart_yt_players){
|
||||
var yt_player = subpart_yt_players[yt_iframe.attr('id')];
|
||||
var play_state = yt_player.getPlayerState();
|
||||
if(play_state == YT.PlayerState.PLAYING || play_state == YT.PlayerState.BUFFERING){
|
||||
yt_player.pauseVideo();
|
||||
}else if(play_state == YT.PlayerState.UNSTARTED || play_state == YT.PlayerState.PAUSED || play_state == YT.PlayerState.ENDED || play_state == YT.PlayerState.CUED){
|
||||
yt_player.playVideo();
|
||||
play_state = yt_player.getPlayerState();
|
||||
if(play_state == YT.PlayerState.UNSTARTED || play_state == YT.PlayerState.PAUSED || play_state == YT.PlayerState.ENDED || play_state == YT.PlayerState.CUED){
|
||||
yt_player.mute().playVideo();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
if(document.getElementById("youtube-iframe-api") == null){
|
||||
var tag = document.createElement('script');
|
||||
tag.setAttribute("id", "youtube-iframe-api");
|
||||
tag.src = "https://www.youtube.com/iframe_api";
|
||||
var firstScriptTag = document.getElementsByTagName('script')[0];
|
||||
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
|
||||
}
|
||||
if(window.init_yt_banner == undefined){
|
||||
function init_yt_banner(banner__slide){
|
||||
var $banner__slide = $(banner__slide);
|
||||
if( $banner__slide.data("yt-binded")== "0" ){
|
||||
$banner__slide.data("yt-binded","1");
|
||||
var obj = $banner__slide.find("iframe");
|
||||
obj.attr("id", $banner__slide.data("youtube-id") + "_" + ad_banners_count);
|
||||
ad_banners_count++;
|
||||
}
|
||||
}
|
||||
}
|
||||
$("*[data-yt-binded=0]").each(function(){
|
||||
init_yt_banner(this);
|
||||
})
|
||||
if (typeof onYouTubeIframeAPIReady !== 'function'){
|
||||
$(document).ready(function() {
|
||||
$(document).on('touchstart click mousedown',".jarallax-video-audio",function(){
|
||||
$(this).trigger('click');
|
||||
});
|
||||
});
|
||||
if(window.yt_players == undefined)
|
||||
window.yt_players = {};
|
||||
function find_out_yt_event_list_key(yt_player){
|
||||
var defalt_key = 'o';
|
||||
var all_keys = Object.keys(yt_player).filter(function(s){return s.length == 1});
|
||||
var prop_nums_thresh = 6;
|
||||
if(all_keys.indexOf(defalt_key) != -1){
|
||||
if((yt_player[defalt_key] instanceof Object) && Object.keys(yt_player[defalt_key]).length > prop_nums_thresh){
|
||||
return defalt_key;
|
||||
}
|
||||
}
|
||||
var event_key;
|
||||
all_keys.forEach(function(k){
|
||||
if((yt_player[k] instanceof Object) && Object.keys(yt_player[k]).length > prop_nums_thresh){
|
||||
event_key = k;
|
||||
return false;
|
||||
}
|
||||
})
|
||||
return event_key;
|
||||
}
|
||||
function find_out_yt_event_list_count_key(yt_player, event_list_key){
|
||||
var defalt_key = 'v';
|
||||
var all_keys = Object.keys(yt_player).filter(function(s){return s.length == 1});
|
||||
var equal_count = yt_player[event_list_key].length;
|
||||
if(all_keys.indexOf(defalt_key) != -1){
|
||||
if(yt_player[defalt_key] == equal_count){
|
||||
return defalt_key;
|
||||
}
|
||||
}
|
||||
var count_key;
|
||||
all_keys.forEach(function(k){
|
||||
if(yt_player[k] == equal_count){
|
||||
count_key = k;
|
||||
return false;
|
||||
}
|
||||
})
|
||||
return count_key;
|
||||
}
|
||||
function find_out_yt_event_list_array_key(event_dict){
|
||||
var defalt_key = 'i';
|
||||
var all_keys = Object.keys(event_dict);
|
||||
if(all_keys.indexOf(defalt_key) != -1){
|
||||
var tmp = event_dict[defalt_key];
|
||||
if(Array.isArray(tmp) && tmp.indexOf('onStateChange') != -1){
|
||||
return defalt_key;
|
||||
}
|
||||
}
|
||||
var array_key;
|
||||
all_keys.forEach(function(k){
|
||||
var tmp = event_dict[k];
|
||||
if(Array.isArray(tmp) && tmp.indexOf('onStateChange') != -1){
|
||||
array_key = k;
|
||||
return false;
|
||||
}
|
||||
})
|
||||
return array_key;
|
||||
}
|
||||
function find_out_yt_event_relation_key(event_dict, is_obj){ // is_obj = true => store event idx array. false => store whether event init(true or false)
|
||||
var defalt_key = 'j';
|
||||
var all_keys = Object.keys(event_dict);
|
||||
if(all_keys.indexOf(defalt_key) != -1){
|
||||
var tmp = event_dict[defalt_key];
|
||||
if((tmp instanceof Object) && tmp['onStateChange']){
|
||||
if(!is_obj || (tmp['onStateChange'] instanceof Object)){
|
||||
return defalt_key;
|
||||
}
|
||||
}
|
||||
}
|
||||
var relation_key;
|
||||
all_keys.forEach(function(k){
|
||||
var tmp = event_dict[k];
|
||||
if((tmp instanceof Object) && tmp['onStateChange']){
|
||||
if(!is_obj || (tmp['onStateChange'] instanceof Object)){
|
||||
relation_key = k;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
})
|
||||
return relation_key;
|
||||
}
|
||||
function onYouTubeIframeAPIReady(){
|
||||
$(".w-ba-banner").on('cycle-post-initialize', function(){
|
||||
init_banner(this);
|
||||
});
|
||||
function init_banner(banner){
|
||||
var $banner = $(banner);
|
||||
$banner.find('.w-ad-banner__slide').each(function(j, banner__slide){
|
||||
init_yt_banner(banner__slide);
|
||||
})
|
||||
var iframes = $banner.find("iframe");
|
||||
if(iframes.length > 0){
|
||||
var id = $banner.attr("data-subpart-id");
|
||||
if(yt_players[id] == undefined)
|
||||
yt_players[id] = {};
|
||||
var remove_ids = [];
|
||||
Object.keys(yt_players[id]).forEach(function(k){
|
||||
var yt_player = yt_players[id][k];
|
||||
if($(yt_player.getIframe()).length == 0){
|
||||
yt_player.destroy();
|
||||
remove_ids.push(k);
|
||||
}
|
||||
})
|
||||
remove_ids.forEach(function(k){
|
||||
delete yt_players[id][k];
|
||||
})
|
||||
iframes.each(function(i,iframe){
|
||||
var $iframe = $(iframe);
|
||||
var src = $iframe.attr('src');
|
||||
if (src && src.indexOf('vq=hd1080') === -1) {
|
||||
src += (src.indexOf('?') > -1 ? '&' : '?') + 'vq=hd1080&playsinline=1';
|
||||
$iframe.attr('src', src);
|
||||
}
|
||||
var yt_id = $iframe.attr("id");
|
||||
var yt_player = yt_players[id][yt_id];
|
||||
if(yt_player){
|
||||
}else{
|
||||
yt_player = new YT.Player(yt_id, {
|
||||
events: {
|
||||
'onReady': function(event){
|
||||
var yt_player = event.target;
|
||||
yt_player.setPlaybackQuality('hd1080');
|
||||
|
||||
try {
|
||||
var videoId = yt_player.getVideoData().video_id;
|
||||
yt_player.cueVideoById({
|
||||
videoId: videoId,
|
||||
startSeconds: 0,
|
||||
suggestedQuality: 'hd1080'
|
||||
});
|
||||
} catch(e) {}
|
||||
var height = $(yt_player.getIframe()).height();
|
||||
var banner_wrap = $iframe.parents('.w-ba-banner__wrap').eq(0);
|
||||
var carousel_wrap = banner_wrap.find(".cycle-carousel-wrap");
|
||||
if(carousel_wrap.length){
|
||||
carousel_wrap.css("top","3em");
|
||||
height += parseInt(carousel_wrap.css('font-size')) * 3;
|
||||
}
|
||||
var overlay_in_slide = $iframe.parent().siblings('.ad-overlay,.banner-overlay');
|
||||
if(overlay_in_slide.length != 0){
|
||||
height += overlay_in_slide.outerHeight(true);
|
||||
}
|
||||
banner_wrap.height(height).css({"padding-bottom":"","padding-top":""});
|
||||
var init_key = find_out_yt_event_relation_key(yt_player, false);
|
||||
if(init_key){
|
||||
delete yt_player[init_key].onStateChange;
|
||||
}
|
||||
else{
|
||||
console.log("{onReady: true, onStateChange: true} missing!");
|
||||
}
|
||||
var event_list_key = find_out_yt_event_list_key(yt_player);
|
||||
if(event_list_key){
|
||||
var event_dict = yt_player[event_list_key];
|
||||
var array_key = find_out_yt_event_list_array_key(event_dict);
|
||||
var count_key = find_out_yt_event_list_count_key(event_dict, array_key);
|
||||
var relation_key = find_out_yt_event_relation_key(event_dict, true);
|
||||
var onStateChange_idx = event_dict[relation_key].onStateChange;
|
||||
onStateChange_idx.reverse();
|
||||
var event_size = 3;
|
||||
onStateChange_idx.forEach(function(start_idx){
|
||||
event_dict[array_key].splice(start_idx,event_size);
|
||||
});
|
||||
event_dict[relation_key].onStateChange = [];
|
||||
event_dict[count_key] = event_dict[array_key].length;
|
||||
yt_player.addEventListener('onStateChange',onPlayerStateChange);
|
||||
banner_wrap.trigger('resize');
|
||||
}else{
|
||||
console.log("YT player changes its variables!")
|
||||
}
|
||||
{{extra_ready_script}}
|
||||
},
|
||||
'onStateChange': onPlayerStateChange
|
||||
}
|
||||
});
|
||||
yt_players[id][yt_id] = yt_player;
|
||||
$iframe.data("yt_player",yt_player);
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
$(".w-ba-banner").each(function(i,banner){
|
||||
init_banner(banner);
|
||||
})
|
||||
}
|
||||
function onPlayerStateChange(event){
|
||||
var iframe = $(event.target.getIframe()),
|
||||
cyclediv = iframe.parents("div.cycle-slideshow");
|
||||
var widget = cyclediv.parents('.ba-banner-widget-youtube');
|
||||
if(event.data == YT.PlayerState.PLAYING || event.data == YT.PlayerState.BUFFERING){
|
||||
cyclediv[0].need_resume = !(cyclediv.hasClass("cycle-paused"));
|
||||
cyclediv.cycle("pause");
|
||||
widget.find('.banner-pager,.controlplay,.button-mid,.ad-overlay,.banner-overlay').css('visibility','hidden')
|
||||
ad_audio_button(iframe.parents(".w-ad-banner__slide").eq(0),false);
|
||||
}else if(event.data == YT.PlayerState.UNSTARTED || event.data == YT.PlayerState.PAUSED || event.data == YT.PlayerState.ENDED){
|
||||
if(cyclediv[0].need_resume)
|
||||
cyclediv.cycle("resume");
|
||||
widget.find('.banner-pager,.controlplay,.button-mid,.ad-overlay,.banner-overlay').css('visibility','')
|
||||
ad_audio_button(iframe.parents(".w-ad-banner__slide").eq(0),true);
|
||||
}
|
||||
{{extra_state_chnage_script}}
|
||||
}
|
||||
}
|
||||
$(document).ready(function(){
|
||||
window.onYouTubePlayerAPIReady = function() {
|
||||
onYouTubeIframeAPIReady.apply(this,arguments);
|
||||
};
|
||||
var banner_wrap = $(".w-ba-banner__wrap[data-overlay=\".w-ad-banner__overlay_{{subpart-id}}\"]");
|
||||
var opts = banner_wrap.data('cycle.opts');
|
||||
banner_wrap.on('cycle-paused',function(opts){
|
||||
var controlplay = $(this).nextAll(".controlplay");
|
||||
if(controlplay.length != 0){
|
||||
controlplay.find(".resume-slide").removeClass("active");
|
||||
controlplay.find(".pause-slide").addClass("active");
|
||||
}
|
||||
})
|
||||
banner_wrap.on('cycle-resumed',function(opts){
|
||||
if(!($(this).data('paused'))){
|
||||
var controlplay = $(this).nextAll(".controlplay");
|
||||
if(controlplay.length != 0){
|
||||
controlplay.find(".resume-slide").addClass("active");
|
||||
controlplay.find(".pause-slide").removeClass("active");
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
banner_wrap.css("padding-bottom","");
|
||||
{{extra_document_ready_script}}
|
||||
$('[data-subpart-id="{{subpart-id}}"] .pause-slide').click(function(){
|
||||
$(this).parent("ul").parent('.w-ba-banner').find(".cycle-slideshow").data('paused', true).cycle('pause');
|
||||
$(this).addClass('active');
|
||||
$(this).parents('.controlplay').eq(0).find('.resume-slide').removeClass('active');
|
||||
});
|
||||
$('[data-subpart-id="{{subpart-id}}"] .resume-slide').click(function(){
|
||||
$(this).parent("ul").parent('.w-ba-banner').find(".cycle-slideshow").data('paused', false).cycle('resume');
|
||||
$(this).addClass('active');
|
||||
$(this).parents('.controlplay').eq(0).find('.pause-slide').removeClass('active');
|
||||
});
|
||||
$('[data-subpart-id="{{subpart-id}}"] .next-button').click(function(){
|
||||
$(this).parent("ul").parent('.w-ba-banner').find(".cycle-slideshow").cycle("next");
|
||||
})
|
||||
$('[data-subpart-id="{{subpart-id}}"] .prev-button').click(function(){
|
||||
$(this).parent("ul").parent('.w-ba-banner').find(".cycle-slideshow").cycle("prev");
|
||||
})
|
||||
});
|
||||
|
||||
</script>
|
||||
<style type="text/css">
|
||||
|
||||
.w-ba-banner__wrap {
|
||||
aspect-ratio: 16 / 9;
|
||||
}
|
||||
|
||||
|
||||
@media (max-width: 768px){
|
||||
.w-ba-banner__wrap {
|
||||
aspect-ratio: auto;
|
||||
height: auto !important;
|
||||
}
|
||||
|
||||
.w-ba-banner__wrap iframe {
|
||||
width: 100%;
|
||||
height: 56.25vw !important;
|
||||
}
|
||||
}
|
||||
|
||||
.jarallax-video-audio, .jarallax-video-control-play{
|
||||
z-index: 201;
|
||||
font-size: 2em;
|
||||
color: #FFF;
|
||||
text-align: center;
|
||||
position: absolute;
|
||||
top: 2%;
|
||||
right: 2%;
|
||||
height: 66px;
|
||||
width: 66px;
|
||||
border-radius: 50%;
|
||||
line-height: 1.8;
|
||||
cursor: pointer;
|
||||
border: 2px solid rgba(255,255,255,.6);
|
||||
background-color: rgba(0,0,0,.6);
|
||||
transition: all 1.2s ease;
|
||||
}
|
||||
.jarallax-video-control-play{
|
||||
margin-top: 66px;
|
||||
}
|
||||
@media (max-width: 768px){
|
||||
.jarallax-video-audio, .jarallax-video-control-play{
|
||||
top: 50%;
|
||||
}
|
||||
.jarallax-video-audio.accessibility_mode_btn{
|
||||
margin-top: -33px;
|
||||
}
|
||||
.jarallax-video-control-play{
|
||||
margin-top: 33px;
|
||||
}
|
||||
}
|
||||
.jarallax-video-audio:hover,.jarallax-video-audio:focus,.jarallax-video-control-play:hover,.jarallax-video-control-play:focus {
|
||||
color: #FFC500;
|
||||
transition: all 0.6s ease;
|
||||
}
|
||||
|
||||
.w-ba-banner .controlplay .resume-slide.active i{
|
||||
color: #32D9C3;
|
||||
}
|
||||
.w-ba-banner .controlplay .pause-slide.active i{
|
||||
color: #ff4500;
|
||||
}
|
||||
.w-ba-banner .controlplay{
|
||||
width: auto;
|
||||
}
|
||||
.next-button,.prev-button{
|
||||
cursor: pointer;
|
||||
}
|
||||
</style>
|
||||
|
|
@ -0,0 +1,71 @@
|
|||
<div class="w-ba-banner ba-banner-widget-3">
|
||||
<div class="w-ba-banner__wrap cycle-slideshow"
|
||||
data-list="images"
|
||||
data-level="0"
|
||||
data-cycle-slides=".w-ba-banner__slide"
|
||||
data-cycle-log="false"
|
||||
data-cycle-auto-height="{{base_image}}"
|
||||
data-cycle-speed="{{speed}}"
|
||||
data-cycle-timeout="{{timeout}}"
|
||||
data-cycle-fx="{{ad_fx}}"
|
||||
data-cycle-pager=".banner_caption_{{subpart-id}}"
|
||||
data-pager-template="<li><a></a></li>"
|
||||
data-pager-active-class="active-slide"
|
||||
data-cycle-swipe=true
|
||||
data-cycle-swipe-fx="scrollHorz"
|
||||
>
|
||||
<div class="w-ba-banner__slide {{class}}"
|
||||
data-link="{{link}}"
|
||||
data-cycle-title="{{title}}"
|
||||
data-cycle-desc="{{context}}"
|
||||
data-overlay-template="<h3>{{title}}</h3>{{desc}}"
|
||||
data-target="{{target}}"
|
||||
>
|
||||
<a href="{{link}}" target="{{target}}" title="{{alt_title}}">
|
||||
<img class="w-ba-banner__image banner-responsive" src="{{image_link}}" alt="{{alt_title}}">
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<ul class="w-ba-banner__pager-3 banner-pager banner_caption_{{subpart-id}}"></ul>
|
||||
<ul class="controlplay" role="radiogroup" aria-label="播放控制選項">
|
||||
<a role="radio" aria-checked="true" href="javascript:;" class="resume-slide active" title="繼續播放" aria-label="繼續播放" aria-live="assertive">
|
||||
<i aria-hidden="true"></i>
|
||||
<p style="display: none;"><%= I18n.t("ad_banner.resume") %></p>
|
||||
</a>
|
||||
|
||||
<a role="radio" aria-checked="false" href="javascript:;" class="pause-slide" title="暫停播放" aria-label="暫停播放" aria-live="assertive">
|
||||
<i aria-hidden="true"></i>
|
||||
<p style="display: none;"><%= I18n.t("ad_banner.pause") %></p>
|
||||
</a>
|
||||
</ul>
|
||||
<ul class="button-mid">
|
||||
<button class="prev-button" title = "<%= (I18n.locale.to_s =="zh_tw") ? "上一張" : "prev" %>" aria-label="Pager"></button>
|
||||
<button class="next-button" title = "<%= (I18n.locale.to_s =="zh_tw") ? "下一張" : "next" %>" aria-label="Pager"></button>
|
||||
</ul>
|
||||
</div>
|
||||
<script>
|
||||
var flag = 1;
|
||||
$('[data-subpart-id="{{subpart-id}}"] .pause-slide').click(function(){
|
||||
$(this).parent("ul").parent('.w-ba-banner').find(".cycle-slideshow").cycle('pause');
|
||||
$(this).addClass('active')
|
||||
$(this).parents('.controlplay').eq(0).find('.resume-slide').removeClass('active')
|
||||
});
|
||||
$('[data-subpart-id="{{subpart-id}}"] .resume-slide').click(function(){
|
||||
$(this).parent("ul").parent('.w-ba-banner').find(".cycle-slideshow").cycle('resume');
|
||||
$(this).addClass('active')
|
||||
$(this).parents('.controlplay').eq(0).find('.pause-slide').removeClass('active')
|
||||
});
|
||||
$('.pause-slide').click(function(){
|
||||
$(this).parent("ul").parent('.w-ba-banner').find(".cycle-slideshow").cycle('pause');
|
||||
});
|
||||
$('.resume-slide').click(function(){
|
||||
$(this).parent("ul").parent('.w-ba-banner').find(".cycle-slideshow").cycle('resume');
|
||||
});
|
||||
$('.next-button').off('click').on('click',function(){
|
||||
$(this).parent("ul").parent('.w-ba-banner').find(".cycle-slideshow").cycle("next");
|
||||
|
||||
})
|
||||
$('.prev-button').off('click').on('click',function(){
|
||||
$(this).parent("ul").parent('.w-ba-banner').find(".cycle-slideshow").cycle("prev");
|
||||
})
|
||||
</script>
|
||||
|
|
@ -0,0 +1,10 @@
|
|||
<div class="w-ba-banner ba-banner-widget-4">
|
||||
<div class="w-ba-banner__wrap image-only"
|
||||
data-list="images"
|
||||
data-level="0"
|
||||
>
|
||||
<a href="{{link}}" target="{{target}}" title="{{alt_title}}">
|
||||
<img class="w-ba-banner__image" src="{{image_link}}" alt="{{alt_title}}">
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -0,0 +1,69 @@
|
|||
<div class="w-ba-banner ba-banner-widget-5">
|
||||
<div class="w-ba-banner__wrap cycle-slideshow"
|
||||
data-list="images"
|
||||
data-level="0"
|
||||
data-cycle-slides=".w-ba-banner__slide"
|
||||
data-cycle-log="false"
|
||||
data-overlay=".w-ad-banner__overlay_{{subpart-id}}"
|
||||
data-cycle-auto-height="{{base_image}}"
|
||||
data-cycle-speed="{{speed}}"
|
||||
data-cycle-timeout="{{timeout}}"
|
||||
data-cycle-fx="{{ad_fx}}"
|
||||
data-cycle-pager=".banner_caption_{{subpart-id}}"
|
||||
data-pager-template="<li><a></a></li>"
|
||||
data-pager-active-class="active-slide"
|
||||
data-cycle-swipe=true
|
||||
data-cycle-swipe-fx="scrollHorz"
|
||||
>
|
||||
<div class="w-ba-banner__slide {{class}}"
|
||||
data-link="{{link}}"
|
||||
data-cycle-title="{{title}}"
|
||||
data-cycle-desc="{{context}}"
|
||||
data-target="{{target}}"
|
||||
>
|
||||
<div class="slide-img col-md-4 col-sm-4">
|
||||
<a href="{{link}}" target="{{target}}" title="{{alt_title}}">
|
||||
<img class="w-ba-banner__image banner-responsive" src="{{image_link}}" alt="{{alt_title}}">
|
||||
</a>
|
||||
</div>
|
||||
<div class="slide-content col-md-8 col-sm-8">
|
||||
<a href="{{link}}" target="{{target}}" title="{{alt_title}}"><h3>{{title}}</h3></a>
|
||||
<div>{{context}}</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="w-ba-banner__caption banner-pager banner_caption_{{subpart-id}}"></div>
|
||||
<ul class="controlplay" role="radiogroup" aria-label="播放控制選項">
|
||||
<a role="radio" aria-checked="true" href="javascript:;" class="resume-slide active" title="繼續播放" aria-label="繼續播放" aria-live="assertive">
|
||||
<i aria-hidden="true"></i>
|
||||
<p style="display: none;"><%= I18n.t("ad_banner.resume") %></p>
|
||||
</a>
|
||||
|
||||
<a role="radio" aria-checked="false" href="javascript:;" class="pause-slide" title="暫停播放" aria-label="暫停播放" aria-live="assertive">
|
||||
<i aria-hidden="true"></i>
|
||||
<p style="display: none;"><%= I18n.t("ad_banner.pause") %></p>
|
||||
</a>
|
||||
</ul>
|
||||
<ul class="button-mid">
|
||||
<i class="fa fa-angle-left prev-button" aria-hidden="true" title = "<%= (I18n.locale.to_s =="zh_tw") ? "上一張" : "prev" %>"></i>
|
||||
<i class="fa fa-angle-right next-button" aria-hidden="true" title = "<%= (I18n.locale.to_s =="zh_tw") ? "下一張" : "next" %>"></i>
|
||||
</ul>
|
||||
</div>
|
||||
<script>
|
||||
var flag = 1;
|
||||
$('.pause-slide').click(function(){
|
||||
$(this).parent("ul").parent('.w-ba-banner').find(".cycle-slideshow").cycle('pause');
|
||||
});
|
||||
$('.resume-slide').click(function(){
|
||||
$(this).parent("ul").parent('.w-ba-banner').find(".cycle-slideshow").cycle('resume');
|
||||
});
|
||||
$('.next-button').off('click').on('click',function(){
|
||||
$(this).parent("ul").parent('.w-ba-banner').find(".cycle-slideshow").cycle("next");
|
||||
|
||||
})
|
||||
$('.prev-button').off('click').on('click',function(){
|
||||
$(this).parent("ul").parent('.w-ba-banner').find(".cycle-slideshow").cycle("prev");
|
||||
})
|
||||
|
||||
</script>
|
||||
|
|
@ -0,0 +1,80 @@
|
|||
<div class="w-ba-banner ad-banner-widget-6 ba-banner-widget-6">
|
||||
<div class="w-ba-banner__wrap cycle-slideshow"
|
||||
data-list="images"
|
||||
data-level="0"
|
||||
data-cycle-slides=".w-ba-banner__slide"
|
||||
data-cycle-log="false"
|
||||
data-overlay=".w-ad-banner__overlay_{{subpart-id}}"
|
||||
data-cycle-auto-height="{{base_image}}"
|
||||
data-cycle-speed="{{speed}}"
|
||||
data-cycle-timeout="{{timeout}}"
|
||||
data-cycle-fx="{{ad_fx}}"
|
||||
data-cycle-pager=".banner_caption_{{subpart-id}}"
|
||||
data-pager-template=""
|
||||
data-pager-active-class="active-slide"
|
||||
data-cycle-swipe=true
|
||||
data-cycle-swipe-fx="scrollHorz"
|
||||
>
|
||||
<div class="w-ba-banner__slide {{class}}"
|
||||
data-link="{{link}}"
|
||||
data-cycle-title="{{title}}"
|
||||
data-cycle-desc="{{context}}"
|
||||
data-overlay-template="<h3>{{title}}</h3><p>{{desc}}</p>"
|
||||
data-target="{{target}}"
|
||||
>
|
||||
<a href="{{link}}" target="{{target}}" title="{{alt_title}}">
|
||||
<img class="w-ba-banner__image banner-responsive" src="{{image_link}}" alt="{{alt_title}}">
|
||||
</a>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="ad-overlay w-ba-banner__caption w-ad-banner__caption w-ad-banner__overlay_{{subpart-id}}"></div>
|
||||
<div class="w-ba-banner__caption banner-pager banner_caption_{{subpart-id}}" data-list="images" data-level="0">
|
||||
<li><button title="Slide {{slide_number}}" aria-label="Pager"><span style="display: none;">Slide {{slide_number}}</span></button></li>
|
||||
</div>
|
||||
<ul class="controlplay" role="radiogroup" aria-label="播放控制選項">
|
||||
<a role="radio" aria-checked="true" href="javascript:;" class="resume-slide active" title="繼續播放" aria-label="繼續播放" aria-live="assertive">
|
||||
<i aria-hidden="true"></i>
|
||||
<p style="display: none;"><%= I18n.t("ad_banner.resume") %></p>
|
||||
</a>
|
||||
|
||||
<a role="radio" aria-checked="false" href="javascript:;" class="pause-slide" title="暫停播放" aria-label="暫停播放" aria-live="assertive">
|
||||
<i aria-hidden="true"></i>
|
||||
<p style="display: none;"><%= I18n.t("ad_banner.pause") %></p>
|
||||
</a>
|
||||
</ul>
|
||||
<ul class="button-mid">
|
||||
<i class="fa fa-angle-left prev-button" aria-hidden="true" title = "<%= (I18n.locale.to_s =="zh_tw") ? "上一張" : "prev" %>"></i>
|
||||
<i class="fa fa-angle-right next-button" aria-hidden="true" title = "<%= (I18n.locale.to_s =="zh_tw") ? "下一張" : "next" %>"></i>
|
||||
</ul>
|
||||
<div class="background-overlay"></div>
|
||||
</div>
|
||||
<script>
|
||||
var flag = 1;
|
||||
$('.pause-slide').off('click').click(function(){
|
||||
$(this).parent("ul").parent('.w-ba-banner').find(".cycle-slideshow").cycle('pause');
|
||||
$(this).addClass('active')
|
||||
$(this).parents('.controlplay').eq(0).find('.resume-slide').removeClass('active')
|
||||
});
|
||||
$('.resume-slide').off('click').click(function(){
|
||||
$(this).parent("ul").parent('.w-ba-banner').find(".cycle-slideshow").cycle('resume');
|
||||
$(this).addClass('active')
|
||||
$(this).parents('.controlplay').eq(0).find('.pause-slide').removeClass('active')
|
||||
});
|
||||
$('.next-button').off('click').on('click',function(){
|
||||
$(this).parent("ul").parent('.w-ba-banner').find(".cycle-slideshow").cycle("next");
|
||||
|
||||
})
|
||||
$('.prev-button').off('click').on('click',function(){
|
||||
$(this).parent("ul").parent('.w-ba-banner').find(".cycle-slideshow").cycle("prev");
|
||||
})
|
||||
|
||||
</script>
|
||||
<style type="text/css">
|
||||
.controlplay .resume-slide.active i{
|
||||
color: #32D9C3;
|
||||
}
|
||||
.controlplay .pause-slide.active i{
|
||||
color: #ff4500;
|
||||
}
|
||||
</style>
|
||||
|
|
@ -0,0 +1,82 @@
|
|||
<div class="w-ad-banner w-ba-banner ad-banner-widget-7 ba-banner-widget-7">
|
||||
<div class="w-ad-banner__wrap w-ba-banner__wrap cycle-slideshow"
|
||||
data-list="images"
|
||||
data-level="0"
|
||||
data-cycle-slides=".w-ba-banner__slide"
|
||||
data-cycle-log="false"
|
||||
data-overlay=".w-ad-banner__overlay_{{subpart-id}}"
|
||||
data-cycle-auto-height="{{base_image}}"
|
||||
data-cycle-speed="{{speed}}"
|
||||
data-cycle-timeout="{{timeout}}"
|
||||
data-cycle-fx="{{ad_fx}}"
|
||||
data-cycle-pager=".banner_caption_{{subpart-id}}"
|
||||
data-pager-template=""
|
||||
data-pager-active-class="active-slide"
|
||||
data-cycle-swipe=true
|
||||
data-cycle-swipe-fx="scrollHorz"
|
||||
>
|
||||
<div class="w-ad-banner__slide w-ba-banner__slide {{class}}"
|
||||
data-link="{{link}}"
|
||||
data-cycle-title="{{title}}"
|
||||
data-cycle-desc="{{context}}"
|
||||
data-overlay-template="<h3>{{title}}</h3><p>{{desc}}</p>"
|
||||
data-target="{{target}}"
|
||||
>
|
||||
<a href="{{link}}" target="{{target}}" title="{{alt_title}}">
|
||||
<img class="w-ad-banner__image w-ba-banner__image banner-responsive" src="{{image_link}}" alt="{{alt_title}}">
|
||||
</a>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="w-ad-banner__caption ad-overlay w-ba-banner__caption w-ad-banner__caption w-ad-banner__overlay_{{subpart-id}}"></div>
|
||||
<div class="w-ad-banner__pager-1 w-ba-banner__caption banner-pager banner_caption_{{subpart-id}}" data-list="images" data-level="0">
|
||||
<li><button title="Slide {{slide_number}}" aria-label="Pager"><span style="display: none;">Slide {{slide_number}}</span></button></li>
|
||||
</div>
|
||||
<ul class="controlplay">
|
||||
<a href="javascript:;" class="resume-slide active" title="<%= I18n.t("ad_banner.resume") %>" aria-label="<%= I18n.t("ad_banner.resume") %>">
|
||||
<i aria-hidden="true" aria-label="<%= I18n.t("ad_banner.resume") %>"></i>
|
||||
<p style="display: none;"><%= I18n.t("ad_banner.resume") %></p></a>
|
||||
<a href="javascript:;" class="pause-slide" title="<%= I18n.t("ad_banner.pause") %>" aria-label="<%= I18n.t("ad_banner.pause") %>">
|
||||
<i aria-hidden="true" aria-label="<%= I18n.t("ad_banner.pause") %>"></i>
|
||||
<p style="display: none;"><%= I18n.t("ad_banner.pause") %></p></a>
|
||||
</ul>
|
||||
<ul class="button-mid">
|
||||
<i class="fa fa-angle-left prev-button" aria-label="<%= I18n.t("ad_banner.prev") %>"></i>
|
||||
<i class="fa fa-angle-right next-button" aria-label="<%= I18n.t("ad_banner.next") %>"></i>
|
||||
</ul>
|
||||
</div>
|
||||
<script>
|
||||
var flag = 1;
|
||||
$('.pause-slide').off('click').click(function(){
|
||||
$(this).parent("ul").parent('.w-ba-banner').find(".cycle-slideshow").cycle('pause');
|
||||
$(this).addClass('active')
|
||||
$(this).parents('.controlplay').eq(0).find('.resume-slide').removeClass('active')
|
||||
});
|
||||
$('.resume-slide').off('click').click(function(){
|
||||
$(this).parent("ul").parent('.w-ba-banner').find(".cycle-slideshow").cycle('resume');
|
||||
$(this).addClass('active')
|
||||
$(this).parents('.controlplay').eq(0).find('.pause-slide').removeClass('active')
|
||||
});
|
||||
$('.next-button').off('click').on('click',function(){
|
||||
$(this).parent("ul").parent('.w-ba-banner').find(".cycle-slideshow").cycle("next");
|
||||
|
||||
})
|
||||
$('.prev-button').off('click').on('click',function(){
|
||||
$(this).parent("ul").parent('.w-ba-banner').find(".cycle-slideshow").cycle("prev");
|
||||
})
|
||||
|
||||
</script>
|
||||
<style type="text/css">
|
||||
.w-ba-banner .controlplay .resume-slide.active i{
|
||||
color: #32D9C3;
|
||||
}
|
||||
.w-ba-banner .controlplay .pause-slide.active i{
|
||||
color: #ff4500;
|
||||
}
|
||||
.w-ba-banner .controlplay{
|
||||
width: auto;
|
||||
}
|
||||
.next-button,.prev-button{
|
||||
cursor: pointer;
|
||||
}
|
||||
</style>
|
||||
|
|
@ -0,0 +1,469 @@
|
|||
<div class="w-ad-banner ad-banner-widget-2 w-ba-banner ba-banner-widget-8 ba-banner-widget-youtube">
|
||||
<div class="w-ad-banner__wrap w-ba-banner__wrap cycle-slideshow"
|
||||
data-list="images"
|
||||
data-level="0"
|
||||
data-cycle-slides=".w-ba-banner__slide"
|
||||
data-cycle-log="false"
|
||||
data-cycle-carousel-rwd-json='{768: 1}'
|
||||
data-overlay=".w-ad-banner__overlay_{{subpart-id}}"
|
||||
data-overlay-template="<h2><span>{{title}}</span></h2>{{desc}}"
|
||||
data-cycle-auto-height="{{base_image}}"
|
||||
data-cycle-speed="{{speed}}"
|
||||
data-cycle-timeout="{{timeout}}"
|
||||
data-cycle-fx="carousel"
|
||||
data-cycle-carousel-visible="3"
|
||||
data-cycle-carousel-advance="1"
|
||||
data-cycle-carousel-fluid="true"
|
||||
data-pager=".banner_caption_{{subpart-id}}"
|
||||
data-pager-template="<li><button title='pager' aria-label='Pager'></button></li>"
|
||||
data-pager-active-class="active-slide"
|
||||
data-cycle-youtube="true"
|
||||
data-cycle-youtube-autostart="false"
|
||||
data-cycle-swipe="true"
|
||||
data-cycle-prev="[data-subpart-id='{{subpart-id}}'] .prev-button"
|
||||
data-cycle-next="[data-subpart-id='{{subpart-id}}'] .next-button"
|
||||
data-cycle-pause-on-hover="true"
|
||||
style="padding-bottom: 56.25%;"
|
||||
>
|
||||
|
||||
{{html}}
|
||||
</div>
|
||||
<div class="ad-overlay w-ad-banner__overlay_{{subpart-id}}"></div>
|
||||
<div class="w-ba-banner__caption w-ad-banner__pager-2 banner-pager banner_caption_{{subpart-id}}"></div>
|
||||
<ul class="controlplay">
|
||||
<a role="button" class="resume-slide" title = "<%= (I18n.locale.to_s =="zh_tw") ? "繼續播放" : "resume" %>"><i></i></a>
|
||||
<a class="pause-slide" title = "<%= (I18n.locale.to_s =="zh_tw") ? "暫停播放" : "pause"%>"><i></i></a>
|
||||
</ul>
|
||||
<ul class="button-mid">
|
||||
<i class="fa fa-angle-left prev-button" aria-label="<%= I18n.t("ad_banner.prev") %>"></i>
|
||||
<i class="fa fa-angle-right next-button" aria-label="<%= I18n.t("ad_banner.next") %>"></i>
|
||||
</ul>
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
var ad_trigger_time;
|
||||
if (typeof ad_banners_count === 'undefined'){
|
||||
var ad_banners_count = 0;
|
||||
}
|
||||
var control_play_btn_pause = function(){
|
||||
this.attr('aria-label', '<%= I18n.t("ad_banner.resume") %>');
|
||||
this.attr('title', '<%= I18n.t("ad_banner.resume") %>');
|
||||
this.find('p').text('<%= I18n.t("ad_banner.resume") %>');
|
||||
this.find('i.fa-pause').removeClass('fa-pause').addClass('fa-play');
|
||||
}
|
||||
var control_play_btn_play = function(){
|
||||
this.attr('aria-label', '<%= I18n.t("ad_banner.pause") %>');
|
||||
this.attr('title', '<%= I18n.t("ad_banner.pause") %>');
|
||||
this.find('p').text('<%= I18n.t("ad_banner.pause") %>');
|
||||
this.find('i.fa-play').removeClass('fa-play').addClass('fa-pause');
|
||||
}
|
||||
function ad_audio_button(ele,is_stop){
|
||||
var $self = $(ele);
|
||||
var button_container = $self.parents('.ba-banner-widget-youtube').eq(0);
|
||||
var append_class = "";
|
||||
if (is_stop){
|
||||
button_container.find('.jarallax-video-audio').remove();
|
||||
var control_play_btn = $('.jarallax-video-control-play');
|
||||
if(control_play_btn.length){
|
||||
control_play_btn_pause.call(control_play_btn);
|
||||
}
|
||||
}else{
|
||||
var control_play_btn = null;
|
||||
if(window.accessibility_mode){
|
||||
append_class = " accessibility_mode_btn";
|
||||
var control_play_btn = $('.jarallax-video-control-play');
|
||||
if(control_play_btn.length){
|
||||
|
||||
control_play_btn_play.call(control_play_btn);
|
||||
control_play_btn = null;
|
||||
}else{
|
||||
control_play_btn = $('<button title="<%= I18n.t("ad_banner.pause") %>" class="jarallax-video-control-play"><i class="fas fa-pause" aria-label="<%= I18n.t("ad_banner.pause") %>" aria-hidden="true"></i><p style=\"display: none;\"><%= I18n.t("ad_banner.pause") %></p></button>');
|
||||
}
|
||||
}
|
||||
var audio_div;
|
||||
if ($self.hasClass('have-audio')){
|
||||
audio_div = $('<button title="<%= I18n.t("ad_banner.muted") %>" class="jarallax-video-audio'+append_class+'"><i class="fas fa-volume-up" aria-label="<%= I18n.t("ad_banner.muted") %>" aria-hidden="true"></i><p style=\"display: none;\"><%= I18n.t("ad_banner.muted") %></p></button>');
|
||||
}else{
|
||||
audio_div = $('<button title="<%= I18n.t("ad_banner.unmuted") %>" class="jarallax-video-audio'+append_class+'"><i class="fas fa-volume-mute" aria-label="<%= I18n.t("ad_banner.unmuted") %>" aria-hidden="true"></i><p style=\"display: none;\"><%= I18n.t("ad_banner.unmuted") %></p></button>');
|
||||
}
|
||||
audio_div.find('p').css('display','none'); //fix CSP
|
||||
audio_div.click(function(event) {
|
||||
var currentTime = new Date();
|
||||
if (ad_trigger_time&¤tTime-ad_trigger_time<500){
|
||||
return false;
|
||||
}else{
|
||||
ad_trigger_time = currentTime;
|
||||
}
|
||||
event.stopPropagation();
|
||||
var $video = $self.find('video');
|
||||
if ($self.hasClass('have-audio')){
|
||||
$self.removeClass('have-audio');
|
||||
$(this).attr('title','<%= I18n.t("ad_banner.unmuted") %>').find('i.fas').attr('class','fas fa-volume-mute').attr('aria-label','<%= I18n.t("ad_banner.unmuted") %>');
|
||||
}else{
|
||||
$self.addClass('have-audio');
|
||||
$(this).attr('title','<%= I18n.t("ad_banner.muted") %>').find('i.fas').attr('class','fas fa-volume-up').attr('aria-label','<%= I18n.t("ad_banner.muted") %>');
|
||||
}
|
||||
if ($video.length>0){
|
||||
$self.jPlayer("mute", !$self.data().jPlayer.options.muted);
|
||||
}else{//youtube
|
||||
var player = $self.find('iframe').data("yt_player");
|
||||
if (player.isMuted()){
|
||||
player.unMute();
|
||||
}else{
|
||||
player.mute();
|
||||
}
|
||||
}
|
||||
});
|
||||
button_container.find('.jarallax-video-audio').remove();
|
||||
button_container.append(audio_div);
|
||||
if(control_play_btn != null){
|
||||
audio_div.after(control_play_btn);
|
||||
control_play_btn.click(function(){
|
||||
var cycle_slideshow = button_container.find('.cycle-slideshow');
|
||||
var opts = cycle_slideshow.data('cycle.opts');
|
||||
var active_slide = opts.slides.filter('.'+opts.slideActiveClass);
|
||||
if(active_slide.length){
|
||||
var yt_iframe = active_slide.find('iframe');
|
||||
if(yt_iframe.length == 0){
|
||||
var jplayer = active_slide.find('.jp-jplayer').data('jPlayer');
|
||||
if(jplayer){
|
||||
if(jplayer.htmlElement.video.paused){
|
||||
jplayer.play();
|
||||
}else{
|
||||
jplayer.pause();
|
||||
}
|
||||
}
|
||||
}else{
|
||||
if(window.yt_players){
|
||||
var subpart_id = button_container.attr('data-subpart-id');
|
||||
var subpart_yt_players = window.yt_players[subpart_id];
|
||||
if(subpart_yt_players){
|
||||
var yt_player = subpart_yt_players[yt_iframe.attr('id')];
|
||||
var play_state = yt_player.getPlayerState();
|
||||
if(play_state == YT.PlayerState.PLAYING || play_state == YT.PlayerState.BUFFERING){
|
||||
yt_player.pauseVideo();
|
||||
}else if(play_state == YT.PlayerState.UNSTARTED || play_state == YT.PlayerState.PAUSED || play_state == YT.PlayerState.ENDED || play_state == YT.PlayerState.CUED){
|
||||
yt_player.playVideo();
|
||||
play_state = yt_player.getPlayerState();
|
||||
if(play_state == YT.PlayerState.UNSTARTED || play_state == YT.PlayerState.PAUSED || play_state == YT.PlayerState.ENDED || play_state == YT.PlayerState.CUED){
|
||||
yt_player.mute().playVideo();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
if(document.getElementById("youtube-iframe-api") == null){
|
||||
var tag = document.createElement('script');
|
||||
tag.setAttribute("id", "youtube-iframe-api");
|
||||
tag.src = "https://www.youtube.com/iframe_api";
|
||||
var firstScriptTag = document.getElementsByTagName('script')[0];
|
||||
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
|
||||
}
|
||||
if(window.init_yt_banner == undefined){
|
||||
function init_yt_banner(banner__slide){
|
||||
var $banner__slide = $(banner__slide);
|
||||
if( $banner__slide.data("yt-binded")== "0" ){
|
||||
$banner__slide.data("yt-binded","1");
|
||||
var obj = $banner__slide.find("iframe");
|
||||
obj.attr("id", $banner__slide.data("youtube-id") + "_" + ad_banners_count);
|
||||
ad_banners_count++;
|
||||
}
|
||||
}
|
||||
}
|
||||
$("*[data-yt-binded=0]").each(function(){
|
||||
init_yt_banner(this);
|
||||
})
|
||||
if (typeof onYouTubeIframeAPIReady !== 'function'){
|
||||
$(document).ready(function() {
|
||||
$(document).on('touchstart click mousedown',".jarallax-video-audio",function(){
|
||||
$(this).trigger('click');
|
||||
});
|
||||
});
|
||||
if(window.yt_players == undefined)
|
||||
window.yt_players = {};
|
||||
function find_out_yt_event_list_key(yt_player){
|
||||
var defalt_key = 'o';
|
||||
var all_keys = Object.keys(yt_player).filter(function(s){return s.length == 1});
|
||||
var prop_nums_thresh = 6;
|
||||
if(all_keys.indexOf(defalt_key) != -1){
|
||||
if((yt_player[defalt_key] instanceof Object) && Object.keys(yt_player[defalt_key]).length > prop_nums_thresh){
|
||||
return defalt_key;
|
||||
}
|
||||
}
|
||||
var event_key;
|
||||
all_keys.forEach(function(k){
|
||||
if((yt_player[k] instanceof Object) && Object.keys(yt_player[k]).length > prop_nums_thresh){
|
||||
event_key = k;
|
||||
return false;
|
||||
}
|
||||
})
|
||||
return event_key;
|
||||
}
|
||||
function find_out_yt_event_list_count_key(yt_player, event_list_key){
|
||||
var defalt_key = 'v';
|
||||
var all_keys = Object.keys(yt_player).filter(function(s){return s.length == 1});
|
||||
var equal_count = yt_player[event_list_key].length;
|
||||
if(all_keys.indexOf(defalt_key) != -1){
|
||||
if(yt_player[defalt_key] == equal_count){
|
||||
return defalt_key;
|
||||
}
|
||||
}
|
||||
var count_key;
|
||||
all_keys.forEach(function(k){
|
||||
if(yt_player[k] == equal_count){
|
||||
count_key = k;
|
||||
return false;
|
||||
}
|
||||
})
|
||||
return count_key;
|
||||
}
|
||||
function find_out_yt_event_list_array_key(event_dict){
|
||||
var defalt_key = 'i';
|
||||
var all_keys = Object.keys(event_dict);
|
||||
if(all_keys.indexOf(defalt_key) != -1){
|
||||
var tmp = event_dict[defalt_key];
|
||||
if(Array.isArray(tmp) && tmp.indexOf('onStateChange') != -1){
|
||||
return defalt_key;
|
||||
}
|
||||
}
|
||||
var array_key;
|
||||
all_keys.forEach(function(k){
|
||||
var tmp = event_dict[k];
|
||||
if(Array.isArray(tmp) && tmp.indexOf('onStateChange') != -1){
|
||||
array_key = k;
|
||||
return false;
|
||||
}
|
||||
})
|
||||
return array_key;
|
||||
}
|
||||
function find_out_yt_event_relation_key(event_dict, is_obj){ // is_obj = true => store event idx array. false => store whether event init(true or false)
|
||||
var defalt_key = 'j';
|
||||
var all_keys = Object.keys(event_dict);
|
||||
if(all_keys.indexOf(defalt_key) != -1){
|
||||
var tmp = event_dict[defalt_key];
|
||||
if((tmp instanceof Object) && tmp['onStateChange']){
|
||||
if(!is_obj || (tmp['onStateChange'] instanceof Object)){
|
||||
return defalt_key;
|
||||
}
|
||||
}
|
||||
}
|
||||
var relation_key;
|
||||
all_keys.forEach(function(k){
|
||||
var tmp = event_dict[k];
|
||||
if((tmp instanceof Object) && tmp['onStateChange']){
|
||||
if(!is_obj || (tmp['onStateChange'] instanceof Object)){
|
||||
relation_key = k;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
})
|
||||
return relation_key;
|
||||
}
|
||||
function onYouTubeIframeAPIReady(){
|
||||
$(".w-ba-banner").on('cycle-post-initialize', function(){
|
||||
init_banner(this);
|
||||
});
|
||||
function init_banner(banner){
|
||||
var $banner = $(banner);
|
||||
$banner.find('.w-ad-banner__slide').each(function(j, banner__slide){
|
||||
init_yt_banner(banner__slide);
|
||||
})
|
||||
var iframes = $banner.find("iframe");
|
||||
if(iframes.length > 0){
|
||||
var id = $banner.attr("data-subpart-id");
|
||||
if(yt_players[id] == undefined)
|
||||
yt_players[id] = {};
|
||||
var remove_ids = [];
|
||||
Object.keys(yt_players[id]).forEach(function(k){
|
||||
var yt_player = yt_players[id][k];
|
||||
if($(yt_player.getIframe()).length == 0){
|
||||
yt_player.destroy();
|
||||
remove_ids.push(k);
|
||||
}
|
||||
})
|
||||
remove_ids.forEach(function(k){
|
||||
delete yt_players[id][k];
|
||||
})
|
||||
iframes.each(function(i,iframe){
|
||||
var $iframe = $(iframe);
|
||||
var yt_id = $iframe.attr("id");
|
||||
var yt_player = yt_players[id][yt_id];
|
||||
if(yt_player){
|
||||
}else{
|
||||
yt_player = new YT.Player(yt_id, {
|
||||
events: {
|
||||
'onReady': function(event){
|
||||
var yt_player = event.target;
|
||||
var height = $(yt_player.getIframe()).height();
|
||||
var banner_wrap = $iframe.parents('.w-ba-banner__wrap').eq(0);
|
||||
var carousel_wrap = banner_wrap.find(".cycle-carousel-wrap");
|
||||
if(carousel_wrap.length){
|
||||
carousel_wrap.css("top","3em");
|
||||
height += parseInt(carousel_wrap.css('font-size')) * 3;
|
||||
}
|
||||
var overlay_in_slide = $iframe.parent().siblings('.ad-overlay,.banner-overlay');
|
||||
if(overlay_in_slide.length != 0){
|
||||
height += overlay_in_slide.outerHeight(true);
|
||||
}
|
||||
banner_wrap.height(height).css({"padding-bottom":"","padding-top":""});
|
||||
var init_key = find_out_yt_event_relation_key(yt_player, false);
|
||||
if(init_key){
|
||||
delete yt_player[init_key].onStateChange;
|
||||
}
|
||||
else{
|
||||
console.log("{onReady: true, onStateChange: true} missing!");
|
||||
}
|
||||
var event_list_key = find_out_yt_event_list_key(yt_player);
|
||||
if(event_list_key){
|
||||
var event_dict = yt_player[event_list_key];
|
||||
var array_key = find_out_yt_event_list_array_key(event_dict);
|
||||
var count_key = find_out_yt_event_list_count_key(event_dict, array_key);
|
||||
var relation_key = find_out_yt_event_relation_key(event_dict, true);
|
||||
var onStateChange_idx = event_dict[relation_key].onStateChange;
|
||||
onStateChange_idx.reverse();
|
||||
var event_size = 3;
|
||||
onStateChange_idx.forEach(function(start_idx){
|
||||
event_dict[array_key].splice(start_idx,event_size);
|
||||
});
|
||||
event_dict[relation_key].onStateChange = [];
|
||||
event_dict[count_key] = event_dict[array_key].length;
|
||||
yt_player.addEventListener('onStateChange',onPlayerStateChange);
|
||||
banner_wrap.trigger('resize');
|
||||
}else{
|
||||
console.log("YT player changes its variables!")
|
||||
}
|
||||
{{extra_ready_script}}
|
||||
},
|
||||
'onStateChange': onPlayerStateChange
|
||||
}
|
||||
});
|
||||
yt_players[id][yt_id] = yt_player;
|
||||
$iframe.data("yt_player",yt_player);
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
$(".w-ba-banner").each(function(i,banner){
|
||||
init_banner(banner);
|
||||
})
|
||||
}
|
||||
function onPlayerStateChange(event){
|
||||
var iframe = $(event.target.getIframe()),
|
||||
cyclediv = iframe.parents("div.cycle-slideshow");
|
||||
var widget = cyclediv.parents('.ba-banner-widget-youtube');
|
||||
if(event.data == YT.PlayerState.PLAYING || event.data == YT.PlayerState.BUFFERING){
|
||||
cyclediv[0].need_resume = !(cyclediv.hasClass("cycle-paused"));
|
||||
cyclediv.cycle("pause");
|
||||
widget.find('.banner-pager,.controlplay,.button-mid,.ad-overlay,.banner-overlay').css('visibility','hidden')
|
||||
ad_audio_button(iframe.parents(".w-ad-banner__slide").eq(0),false);
|
||||
}else if(event.data == YT.PlayerState.UNSTARTED || event.data == YT.PlayerState.PAUSED || event.data == YT.PlayerState.ENDED){
|
||||
if(cyclediv[0].need_resume)
|
||||
cyclediv.cycle("resume");
|
||||
widget.find('.banner-pager,.controlplay,.button-mid,.ad-overlay,.banner-overlay').css('visibility','')
|
||||
ad_audio_button(iframe.parents(".w-ad-banner__slide").eq(0),true);
|
||||
}
|
||||
{{extra_state_chnage_script}}
|
||||
}
|
||||
}
|
||||
$(document).ready(function(){
|
||||
window.onYouTubePlayerAPIReady = function() {
|
||||
onYouTubeIframeAPIReady.apply(this,arguments);
|
||||
};
|
||||
var banner_wrap = $(".w-ba-banner__wrap[data-overlay=\".w-ad-banner__overlay_{{subpart-id}}\"]");
|
||||
var opts = banner_wrap.data('cycle.opts');
|
||||
banner_wrap.on('cycle-paused',function(opts){
|
||||
var controlplay = $(this).nextAll(".controlplay");
|
||||
if(controlplay.length != 0){
|
||||
controlplay.find(".resume-slide").removeClass("active");
|
||||
controlplay.find(".pause-slide").addClass("active");
|
||||
}
|
||||
})
|
||||
banner_wrap.on('cycle-resumed',function(opts){
|
||||
if(!($(this).data('paused'))){
|
||||
var controlplay = $(this).nextAll(".controlplay");
|
||||
if(controlplay.length != 0){
|
||||
controlplay.find(".resume-slide").addClass("active");
|
||||
controlplay.find(".pause-slide").removeClass("active");
|
||||
}
|
||||
}
|
||||
})
|
||||
/*
|
||||
var height = opts.slides.filter('.active').height() || opts.slides.height();
|
||||
banner_wrap.height(height)*/
|
||||
banner_wrap.css("padding-bottom","");
|
||||
{{extra_document_ready_script}}
|
||||
$('[data-subpart-id="{{subpart-id}}"] .pause-slide').click(function(){
|
||||
$(this).parent("ul").parent('.w-ba-banner').find(".cycle-slideshow").data('paused', true).cycle('pause');
|
||||
$(this).addClass('active');
|
||||
$(this).parents('.controlplay').eq(0).find('.resume-slide').removeClass('active');
|
||||
});
|
||||
$('[data-subpart-id="{{subpart-id}}"] .resume-slide').click(function(){
|
||||
$(this).parent("ul").parent('.w-ba-banner').find(".cycle-slideshow").data('paused', false).cycle('resume');
|
||||
$(this).addClass('active');
|
||||
$(this).parents('.controlplay').eq(0).find('.pause-slide').removeClass('active');
|
||||
});
|
||||
})
|
||||
</script>
|
||||
<style type="text/css">
|
||||
.w-ba-banner__wrap {
|
||||
transform: translate3d(0,0,0);
|
||||
}
|
||||
|
||||
.w-ba-banner__slide {
|
||||
backface-visibility: hidden;
|
||||
will-change: transform;
|
||||
}
|
||||
.jarallax-video-audio, .jarallax-video-control-play{
|
||||
z-index: 201;
|
||||
font-size: 2em;
|
||||
color: #FFF;
|
||||
text-align: center;
|
||||
position: absolute;
|
||||
top: 2%;
|
||||
right: 2%;
|
||||
height: 66px;
|
||||
width: 66px;
|
||||
border-radius: 50%;
|
||||
line-height: 1.8;
|
||||
cursor: pointer;
|
||||
border: 2px solid rgba(255,255,255,.6);
|
||||
background-color: rgba(0,0,0,.6);
|
||||
transition: all 1.2s ease;
|
||||
}
|
||||
.jarallax-video-control-play{
|
||||
margin-top: 66px;
|
||||
}
|
||||
@media (max-width: 768px){
|
||||
.jarallax-video-audio, .jarallax-video-control-play{
|
||||
top: 50%;
|
||||
}
|
||||
.jarallax-video-audio.accessibility_mode_btn{
|
||||
margin-top: -33px;
|
||||
}
|
||||
.jarallax-video-control-play{
|
||||
margin-top: 33px;
|
||||
}
|
||||
}
|
||||
.jarallax-video-audio:hover,.jarallax-video-audio:focus,.jarallax-video-control-play:hover,.jarallax-video-control-play:focus {
|
||||
color: #FFC500;
|
||||
transition: all 0.6s ease;
|
||||
}
|
||||
|
||||
.w-ba-banner .controlplay .resume-slide.active i{
|
||||
color: #32D9C3;
|
||||
}
|
||||
.w-ba-banner .controlplay .pause-slide.active i{
|
||||
color: #ff4500;
|
||||
}
|
||||
.w-ba-banner .controlplay{
|
||||
width: auto;
|
||||
}
|
||||
.next-button,.prev-button{
|
||||
cursor: pointer;
|
||||
}
|
||||
</style>
|
||||
|
|
@ -0,0 +1,461 @@
|
|||
<div class="w-ad-banner ad-banner-widget-2 w-ba-banner ba-banner-widget-9 ba-banner-widget-youtube">
|
||||
<div class="w-ad-banner__wrap w-ba-banner__wrap cycle-slideshow"
|
||||
data-list="images"
|
||||
data-level="0"
|
||||
data-cycle-slides=".w-ba-banner__slide"
|
||||
data-cycle-log="false"
|
||||
data-overlay=".w-ad-banner__overlay_{{subpart-id}}"
|
||||
data-overlay-template="<h2><span>{{title}}</span></h2>{{desc}}"
|
||||
data-cycle-auto-height="{{base_image}}"
|
||||
data-cycle-speed="{{speed}}"
|
||||
data-cycle-timeout="{{timeout}}"
|
||||
data-cycle-fx="{{ad_fx}}"
|
||||
data-pager=".banner_caption_{{subpart-id}}"
|
||||
data-pager-template="<li><button title='pager'></button></li>"
|
||||
data-pager-active-class="active-slide"
|
||||
data-cycle-youtube="true"
|
||||
data-cycle-youtube-autostart="false"
|
||||
data-cycle-swipe="true"
|
||||
data-cycle-prev=".banner_prev"
|
||||
data-cycle-next=".banner_next"
|
||||
data-cycle-pause-on-hover="true"
|
||||
style="padding-bottom: 56.25%;"
|
||||
>
|
||||
|
||||
{{html}}
|
||||
</div>
|
||||
<div class="ad-overlay banner-overlay"><div class="ad-overlay2 w-ad-banner__overlay_{{subpart-id}}"></div></div>
|
||||
<div class="w-ba-banner__caption w-ad-banner__pager-2 banner-pager banner_caption_{{subpart-id}}"></div>
|
||||
<ul class="controlplay"><a role="button" href="javascript:;" class="resume-slide active" title="<%= I18n.t("ad_banner.resume") %>"><i aria-hidden="true" aria-label="<%= I18n.t("ad_banner.resume") %>"></i><p style="display: none;"><%= I18n.t("ad_banner.resume") %></p></a><a href="javascript:;" class="pause-slide" title="<%= I18n.t("ad_banner.pause") %>"><i aria-hidden="true" aria-label="<%= I18n.t("ad_banner.pause") %>"></i><p style="display: none;"><%= I18n.t("ad_banner.pause") %></p></a></ul>
|
||||
<ul class="button-mid">
|
||||
<i class="fa fa-angle-left prev-button" aria-label="<%= I18n.t("ad_banner.prev") %>"></i>
|
||||
<i class="fa fa-angle-right next-button" aria-label="<%= I18n.t("ad_banner.next") %>"></i>
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
var ad_trigger_time;
|
||||
if (typeof ad_banners_count === 'undefined'){
|
||||
var ad_banners_count = 0;
|
||||
}
|
||||
var control_play_btn_pause = function(){
|
||||
this.attr('aria-label', '<%= I18n.t("ad_banner.resume") %>');
|
||||
this.attr('title', '<%= I18n.t("ad_banner.resume") %>');
|
||||
this.find('p').text('<%= I18n.t("ad_banner.resume") %>');
|
||||
this.find('i.fa-pause').removeClass('fa-pause').addClass('fa-play');
|
||||
}
|
||||
var control_play_btn_play = function(){
|
||||
this.attr('aria-label', '<%= I18n.t("ad_banner.pause") %>');
|
||||
this.attr('title', '<%= I18n.t("ad_banner.pause") %>');
|
||||
this.find('p').text('<%= I18n.t("ad_banner.pause") %>');
|
||||
this.find('i.fa-play').removeClass('fa-play').addClass('fa-pause');
|
||||
}
|
||||
function ad_audio_button(ele,is_stop){
|
||||
var $self = $(ele);
|
||||
var button_container = $self.parents('.ba-banner-widget-youtube').eq(0);
|
||||
var append_class = "";
|
||||
if (is_stop){
|
||||
button_container.find('.jarallax-video-audio').remove();
|
||||
var control_play_btn = $('.jarallax-video-control-play');
|
||||
if(control_play_btn.length){
|
||||
control_play_btn_pause.call(control_play_btn);
|
||||
}
|
||||
}else{
|
||||
var control_play_btn = null;
|
||||
if(window.accessibility_mode){
|
||||
append_class = " accessibility_mode_btn";
|
||||
var control_play_btn = $('.jarallax-video-control-play');
|
||||
if(control_play_btn.length){
|
||||
|
||||
control_play_btn_play.call(control_play_btn);
|
||||
control_play_btn = null;
|
||||
}else{
|
||||
control_play_btn = $('<button title="<%= I18n.t("ad_banner.pause") %>" class="jarallax-video-control-play"><i class="fas fa-pause" aria-label="<%= I18n.t("ad_banner.pause") %>" aria-hidden="true"></i><p style=\"display: none;\"><%= I18n.t("ad_banner.pause") %></p></button>');
|
||||
}
|
||||
}
|
||||
var audio_div;
|
||||
if ($self.hasClass('have-audio')){
|
||||
audio_div = $('<button title="<%= I18n.t("ad_banner.muted") %>" class="jarallax-video-audio'+append_class+'"><i class="fas fa-volume-up" aria-label="<%= I18n.t("ad_banner.muted") %>" aria-hidden="true"></i><p style=\"display: none;\"><%= I18n.t("ad_banner.muted") %></p></button>');
|
||||
}else{
|
||||
audio_div = $('<button title="<%= I18n.t("ad_banner.unmuted") %>" class="jarallax-video-audio'+append_class+'"><i class="fas fa-volume-mute" aria-label="<%= I18n.t("ad_banner.unmuted") %>" aria-hidden="true"></i><p style=\"display: none;\"><%= I18n.t("ad_banner.unmuted") %></p></button>');
|
||||
}
|
||||
audio_div.find('p').css('display','none'); //fix CSP
|
||||
audio_div.click(function(event) {
|
||||
var currentTime = new Date();
|
||||
if (ad_trigger_time&¤tTime-ad_trigger_time<500){
|
||||
return false;
|
||||
}else{
|
||||
ad_trigger_time = currentTime;
|
||||
}
|
||||
event.stopPropagation();
|
||||
var $video = $self.find('video');
|
||||
if ($self.hasClass('have-audio')){
|
||||
$self.removeClass('have-audio');
|
||||
$(this).attr('title','<%= I18n.t("ad_banner.unmuted") %>').find('i.fas').attr('class','fas fa-volume-mute').attr('aria-label','<%= I18n.t("ad_banner.unmuted") %>');
|
||||
}else{
|
||||
$self.addClass('have-audio');
|
||||
$(this).attr('title','<%= I18n.t("ad_banner.muted") %>').find('i.fas').attr('class','fas fa-volume-up').attr('aria-label','<%= I18n.t("ad_banner.muted") %>');
|
||||
}
|
||||
if ($video.length>0){
|
||||
$self.jPlayer("mute", !$self.data().jPlayer.options.muted);
|
||||
}else{//youtube
|
||||
var player = $self.find('iframe').data("yt_player");
|
||||
if (player.isMuted()){
|
||||
player.unMute();
|
||||
}else{
|
||||
player.mute();
|
||||
}
|
||||
}
|
||||
});
|
||||
button_container.find('.jarallax-video-audio').remove();
|
||||
button_container.append(audio_div);
|
||||
if(control_play_btn != null){
|
||||
audio_div.after(control_play_btn);
|
||||
control_play_btn.click(function(){
|
||||
var cycle_slideshow = button_container.find('.cycle-slideshow');
|
||||
var opts = cycle_slideshow.data('cycle.opts');
|
||||
var active_slide = opts.slides.filter('.'+opts.slideActiveClass);
|
||||
if(active_slide.length){
|
||||
var yt_iframe = active_slide.find('iframe');
|
||||
if(yt_iframe.length == 0){
|
||||
var jplayer = active_slide.find('.jp-jplayer').data('jPlayer');
|
||||
if(jplayer){
|
||||
if(jplayer.htmlElement.video.paused){
|
||||
jplayer.play();
|
||||
}else{
|
||||
jplayer.pause();
|
||||
}
|
||||
}
|
||||
}else{
|
||||
if(window.yt_players){
|
||||
var subpart_id = button_container.attr('data-subpart-id');
|
||||
var subpart_yt_players = window.yt_players[subpart_id];
|
||||
if(subpart_yt_players){
|
||||
var yt_player = subpart_yt_players[yt_iframe.attr('id')];
|
||||
var play_state = yt_player.getPlayerState();
|
||||
if(play_state == YT.PlayerState.PLAYING || play_state == YT.PlayerState.BUFFERING){
|
||||
yt_player.pauseVideo();
|
||||
}else if(play_state == YT.PlayerState.UNSTARTED || play_state == YT.PlayerState.PAUSED || play_state == YT.PlayerState.ENDED || play_state == YT.PlayerState.CUED){
|
||||
yt_player.playVideo();
|
||||
play_state = yt_player.getPlayerState();
|
||||
if(play_state == YT.PlayerState.UNSTARTED || play_state == YT.PlayerState.PAUSED || play_state == YT.PlayerState.ENDED || play_state == YT.PlayerState.CUED){
|
||||
yt_player.mute().playVideo();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
if(document.getElementById("youtube-iframe-api") == null){
|
||||
var tag = document.createElement('script');
|
||||
tag.setAttribute("id", "youtube-iframe-api");
|
||||
tag.src = "https://www.youtube.com/iframe_api";
|
||||
var firstScriptTag = document.getElementsByTagName('script')[0];
|
||||
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
|
||||
}
|
||||
if(window.init_yt_banner == undefined){
|
||||
function init_yt_banner(banner__slide){
|
||||
var $banner__slide = $(banner__slide);
|
||||
if( $banner__slide.data("yt-binded")== "0" ){
|
||||
$banner__slide.data("yt-binded","1");
|
||||
var obj = $banner__slide.find("iframe");
|
||||
obj.attr("id", $banner__slide.data("youtube-id") + "_" + ad_banners_count);
|
||||
ad_banners_count++;
|
||||
}
|
||||
}
|
||||
}
|
||||
$("*[data-yt-binded=0]").each(function(){
|
||||
init_yt_banner(this);
|
||||
})
|
||||
if (typeof onYouTubeIframeAPIReady !== 'function'){
|
||||
$(document).ready(function() {
|
||||
$(document).on('touchstart click mousedown',".jarallax-video-audio",function(){
|
||||
$(this).trigger('click');
|
||||
});
|
||||
});
|
||||
if(window.yt_players == undefined)
|
||||
window.yt_players = {};
|
||||
function find_out_yt_event_list_key(yt_player){
|
||||
var defalt_key = 'o';
|
||||
var all_keys = Object.keys(yt_player).filter(function(s){return s.length == 1});
|
||||
var prop_nums_thresh = 6;
|
||||
if(all_keys.indexOf(defalt_key) != -1){
|
||||
if((yt_player[defalt_key] instanceof Object) && Object.keys(yt_player[defalt_key]).length > prop_nums_thresh){
|
||||
return defalt_key;
|
||||
}
|
||||
}
|
||||
var event_key;
|
||||
all_keys.forEach(function(k){
|
||||
if((yt_player[k] instanceof Object) && Object.keys(yt_player[k]).length > prop_nums_thresh){
|
||||
event_key = k;
|
||||
return false;
|
||||
}
|
||||
})
|
||||
return event_key;
|
||||
}
|
||||
function find_out_yt_event_list_count_key(yt_player, event_list_key){
|
||||
var defalt_key = 'v';
|
||||
var all_keys = Object.keys(yt_player).filter(function(s){return s.length == 1});
|
||||
var equal_count = yt_player[event_list_key].length;
|
||||
if(all_keys.indexOf(defalt_key) != -1){
|
||||
if(yt_player[defalt_key] == equal_count){
|
||||
return defalt_key;
|
||||
}
|
||||
}
|
||||
var count_key;
|
||||
all_keys.forEach(function(k){
|
||||
if(yt_player[k] == equal_count){
|
||||
count_key = k;
|
||||
return false;
|
||||
}
|
||||
})
|
||||
return count_key;
|
||||
}
|
||||
function find_out_yt_event_list_array_key(event_dict){
|
||||
var defalt_key = 'i';
|
||||
var all_keys = Object.keys(event_dict);
|
||||
if(all_keys.indexOf(defalt_key) != -1){
|
||||
var tmp = event_dict[defalt_key];
|
||||
if(Array.isArray(tmp) && tmp.indexOf('onStateChange') != -1){
|
||||
return defalt_key;
|
||||
}
|
||||
}
|
||||
var array_key;
|
||||
all_keys.forEach(function(k){
|
||||
var tmp = event_dict[k];
|
||||
if(Array.isArray(tmp) && tmp.indexOf('onStateChange') != -1){
|
||||
array_key = k;
|
||||
return false;
|
||||
}
|
||||
})
|
||||
return array_key;
|
||||
}
|
||||
function find_out_yt_event_relation_key(event_dict, is_obj){ // is_obj = true => store event idx array. false => store whether event init(true or false)
|
||||
var defalt_key = 'j';
|
||||
var all_keys = Object.keys(event_dict);
|
||||
if(all_keys.indexOf(defalt_key) != -1){
|
||||
var tmp = event_dict[defalt_key];
|
||||
if((tmp instanceof Object) && tmp['onStateChange']){
|
||||
if(!is_obj || (tmp['onStateChange'] instanceof Object)){
|
||||
return defalt_key;
|
||||
}
|
||||
}
|
||||
}
|
||||
var relation_key;
|
||||
all_keys.forEach(function(k){
|
||||
var tmp = event_dict[k];
|
||||
if((tmp instanceof Object) && tmp['onStateChange']){
|
||||
if(!is_obj || (tmp['onStateChange'] instanceof Object)){
|
||||
relation_key = k;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
})
|
||||
return relation_key;
|
||||
}
|
||||
function onYouTubeIframeAPIReady(){
|
||||
$(".w-ba-banner").on('cycle-post-initialize', function(){
|
||||
init_banner(this);
|
||||
});
|
||||
function init_banner(banner){
|
||||
var $banner = $(banner);
|
||||
$banner.find('.w-ad-banner__slide').each(function(j, banner__slide){
|
||||
init_yt_banner(banner__slide);
|
||||
})
|
||||
var iframes = $banner.find("iframe");
|
||||
if(iframes.length > 0){
|
||||
var id = $banner.attr("data-subpart-id");
|
||||
if(yt_players[id] == undefined)
|
||||
yt_players[id] = {};
|
||||
var remove_ids = [];
|
||||
Object.keys(yt_players[id]).forEach(function(k){
|
||||
var yt_player = yt_players[id][k];
|
||||
if($(yt_player.getIframe()).length == 0){
|
||||
yt_player.destroy();
|
||||
remove_ids.push(k);
|
||||
}
|
||||
})
|
||||
remove_ids.forEach(function(k){
|
||||
delete yt_players[id][k];
|
||||
})
|
||||
iframes.each(function(i,iframe){
|
||||
var $iframe = $(iframe);
|
||||
var yt_id = $iframe.attr("id");
|
||||
var yt_player = yt_players[id][yt_id];
|
||||
if(yt_player){
|
||||
}else{
|
||||
yt_player = new YT.Player(yt_id, {
|
||||
events: {
|
||||
'onReady': function(event){
|
||||
var yt_player = event.target;
|
||||
var height = $(yt_player.getIframe()).height();
|
||||
var banner_wrap = $iframe.parents('.w-ba-banner__wrap').eq(0);
|
||||
var carousel_wrap = banner_wrap.find(".cycle-carousel-wrap");
|
||||
if(carousel_wrap.length){
|
||||
carousel_wrap.css("top","3em");
|
||||
height += parseInt(carousel_wrap.css('font-size')) * 3;
|
||||
}
|
||||
var overlay_in_slide = $iframe.parent().siblings('.ad-overlay,.banner-overlay');
|
||||
if(overlay_in_slide.length != 0){
|
||||
height += overlay_in_slide.outerHeight(true);
|
||||
}
|
||||
banner_wrap.height(height).css({"padding-bottom":"","padding-top":""});
|
||||
var init_key = find_out_yt_event_relation_key(yt_player, false);
|
||||
if(init_key){
|
||||
delete yt_player[init_key].onStateChange;
|
||||
}
|
||||
else{
|
||||
console.log("{onReady: true, onStateChange: true} missing!");
|
||||
}
|
||||
var event_list_key = find_out_yt_event_list_key(yt_player);
|
||||
if(event_list_key){
|
||||
var event_dict = yt_player[event_list_key];
|
||||
var array_key = find_out_yt_event_list_array_key(event_dict);
|
||||
var count_key = find_out_yt_event_list_count_key(event_dict, array_key);
|
||||
var relation_key = find_out_yt_event_relation_key(event_dict, true);
|
||||
var onStateChange_idx = event_dict[relation_key].onStateChange;
|
||||
onStateChange_idx.reverse();
|
||||
var event_size = 3;
|
||||
onStateChange_idx.forEach(function(start_idx){
|
||||
event_dict[array_key].splice(start_idx,event_size);
|
||||
});
|
||||
event_dict[relation_key].onStateChange = [];
|
||||
event_dict[count_key] = event_dict[array_key].length;
|
||||
yt_player.addEventListener('onStateChange',onPlayerStateChange);
|
||||
banner_wrap.trigger('resize');
|
||||
}else{
|
||||
console.log("YT player changes its variables!")
|
||||
}
|
||||
{{extra_ready_script}}
|
||||
},
|
||||
'onStateChange': onPlayerStateChange
|
||||
}
|
||||
});
|
||||
yt_players[id][yt_id] = yt_player;
|
||||
$iframe.data("yt_player",yt_player);
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
$(".w-ba-banner").each(function(i,banner){
|
||||
init_banner(banner);
|
||||
})
|
||||
}
|
||||
function onPlayerStateChange(event){
|
||||
var iframe = $(event.target.getIframe()),
|
||||
cyclediv = iframe.parents("div.cycle-slideshow");
|
||||
var widget = cyclediv.parents('.ba-banner-widget-youtube');
|
||||
if(event.data == YT.PlayerState.PLAYING || event.data == YT.PlayerState.BUFFERING){
|
||||
cyclediv[0].need_resume = !(cyclediv.hasClass("cycle-paused"));
|
||||
cyclediv.cycle("pause");
|
||||
widget.find('.banner-pager,.controlplay,.button-mid,.ad-overlay,.banner-overlay').css('visibility','hidden')
|
||||
ad_audio_button(iframe.parents(".w-ad-banner__slide").eq(0),false);
|
||||
}else if(event.data == YT.PlayerState.UNSTARTED || event.data == YT.PlayerState.PAUSED || event.data == YT.PlayerState.ENDED){
|
||||
if(cyclediv[0].need_resume)
|
||||
cyclediv.cycle("resume");
|
||||
widget.find('.banner-pager,.controlplay,.button-mid,.ad-overlay,.banner-overlay').css('visibility','')
|
||||
ad_audio_button(iframe.parents(".w-ad-banner__slide").eq(0),true);
|
||||
}
|
||||
{{extra_state_chnage_script}}
|
||||
}
|
||||
}
|
||||
$(document).ready(function(){
|
||||
window.onYouTubePlayerAPIReady = function() {
|
||||
onYouTubeIframeAPIReady.apply(this,arguments);
|
||||
};
|
||||
var banner_wrap = $(".w-ba-banner__wrap[data-overlay=\".w-ad-banner__overlay_{{subpart-id}}\"]");
|
||||
var opts = banner_wrap.data('cycle.opts');
|
||||
banner_wrap.on('cycle-paused',function(opts){
|
||||
var controlplay = $(this).nextAll(".controlplay");
|
||||
if(controlplay.length != 0){
|
||||
controlplay.find(".resume-slide").removeClass("active");
|
||||
controlplay.find(".pause-slide").addClass("active");
|
||||
}
|
||||
})
|
||||
banner_wrap.on('cycle-resumed',function(opts){
|
||||
if(!($(this).data('paused'))){
|
||||
var controlplay = $(this).nextAll(".controlplay");
|
||||
if(controlplay.length != 0){
|
||||
controlplay.find(".resume-slide").addClass("active");
|
||||
controlplay.find(".pause-slide").removeClass("active");
|
||||
}
|
||||
}
|
||||
})
|
||||
/*
|
||||
var height = opts.slides.filter('.active').height() || opts.slides.height();
|
||||
banner_wrap.height(height)*/
|
||||
banner_wrap.css("padding-bottom","");
|
||||
{{extra_document_ready_script}}
|
||||
$('[data-subpart-id="{{subpart-id}}"] .pause-slide').click(function(){
|
||||
$(this).parent("ul").parent('.w-ba-banner').find(".cycle-slideshow").data('paused', true).cycle('pause');
|
||||
$(this).addClass('active');
|
||||
$(this).parents('.controlplay').eq(0).find('.resume-slide').removeClass('active');
|
||||
});
|
||||
$('[data-subpart-id="{{subpart-id}}"] .resume-slide').click(function(){
|
||||
$(this).parent("ul").parent('.w-ba-banner').find(".cycle-slideshow").data('paused', false).cycle('resume');
|
||||
$(this).addClass('active');
|
||||
$(this).parents('.controlplay').eq(0).find('.pause-slide').removeClass('active');
|
||||
});
|
||||
$('[data-subpart-id="{{subpart-id}}"] .next-button').click(function(){
|
||||
$(this).parent("ul").parent('.w-ba-banner').find(".cycle-slideshow").cycle("next");
|
||||
})
|
||||
$('[data-subpart-id="{{subpart-id}}"] .prev-button').click(function(){
|
||||
$(this).parent("ul").parent('.w-ba-banner').find(".cycle-slideshow").cycle("prev");
|
||||
})
|
||||
})
|
||||
</script>
|
||||
<style type="text/css">
|
||||
.jarallax-video-audio, .jarallax-video-control-play{
|
||||
z-index: 201;
|
||||
font-size: 2em;
|
||||
color: #FFF;
|
||||
text-align: center;
|
||||
position: absolute;
|
||||
top: 2%;
|
||||
right: 2%;
|
||||
height: 66px;
|
||||
width: 66px;
|
||||
border-radius: 50%;
|
||||
line-height: 1.8;
|
||||
cursor: pointer;
|
||||
border: 2px solid rgba(255,255,255,.6);
|
||||
background-color: rgba(0,0,0,.6);
|
||||
transition: all 1.2s ease;
|
||||
}
|
||||
.jarallax-video-control-play{
|
||||
margin-top: 66px;
|
||||
}
|
||||
@media (max-width: 768px){
|
||||
.jarallax-video-audio, .jarallax-video-control-play{
|
||||
top: 50%;
|
||||
}
|
||||
.jarallax-video-audio.accessibility_mode_btn{
|
||||
margin-top: -33px;
|
||||
}
|
||||
.jarallax-video-control-play{
|
||||
margin-top: 33px;
|
||||
}
|
||||
}
|
||||
.jarallax-video-audio:hover,.jarallax-video-audio:focus,.jarallax-video-control-play:hover,.jarallax-video-control-play:focus {
|
||||
color: #FFC500;
|
||||
transition: all 0.6s ease;
|
||||
}
|
||||
|
||||
.w-ba-banner .controlplay .resume-slide.active i{
|
||||
color: #32D9C3;
|
||||
}
|
||||
.w-ba-banner .controlplay .pause-slide.active i{
|
||||
color: #ff4500;
|
||||
}
|
||||
.w-ba-banner .controlplay{
|
||||
width: auto;
|
||||
}
|
||||
.next-button,.prev-button{
|
||||
cursor: pointer;
|
||||
}
|
||||
</style>
|
||||
|
|
@ -0,0 +1,92 @@
|
|||
{
|
||||
"widgets" : [
|
||||
{
|
||||
"filename" : "ad_banner_widget0",
|
||||
"name" : {
|
||||
"zh_tw" : "0. 主要橫幅輪播 ( 視差圖片, 圖片說明文字, 導航圖示 )",
|
||||
"en" : "0. Carousel ( image, description, navigation )"
|
||||
},
|
||||
"thumbnail" : "ad_banner1_thumb.png"
|
||||
},
|
||||
{
|
||||
"filename" : "ad_banner_widget1",
|
||||
"name" : {
|
||||
"zh_tw" : "1. 橫幅輪播 ( 圖片, 圖片說明文字, 導航圖示 )",
|
||||
"en" : "1. Carousel ( image, description, navigation )"
|
||||
},
|
||||
"thumbnail" : "ad_banner1_thumb.png"
|
||||
},
|
||||
{
|
||||
"filename" : "ad_banner_widget2",
|
||||
"name" : {
|
||||
"zh_tw" : "2. 橫幅輪播左右按鈕 ( 圖片, 導航圖示 )",
|
||||
"en" : "2. Carousel ( image, navigation )"
|
||||
},
|
||||
"thumbnail" : "ad_banner2_thumb.png"
|
||||
},
|
||||
{
|
||||
"filename" : "ad_banner_widget3",
|
||||
"name" : {
|
||||
"zh_tw" : "3. 橫幅輪播下圓點 ( 圖片, 導航圖示 )",
|
||||
"en" : "3. Carousel-dot ( image, navigation )"
|
||||
},
|
||||
"thumbnail" : "ad_banner3_thumb.png"
|
||||
},
|
||||
{
|
||||
"filename" : "ad_banner_widget4",
|
||||
"name" : {
|
||||
"zh_tw" : "4. 廣告輪播 ( 圖片 )",
|
||||
"en" : "4. AD banner ( image )"
|
||||
},
|
||||
"thumbnail" : "ad_banner4.5_thumb.png"
|
||||
},
|
||||
{
|
||||
"filename" : "ad_banner_widget2_video",
|
||||
"name" : {
|
||||
"zh_tw" : "4. 專業版橫幅輪播 ( 圖片, Youtube影片, 導航圖示 )",
|
||||
"en" : "4. Pro Carousel ( image, Youtube video, navigation )"
|
||||
},
|
||||
"thumbnail" : "ad_banner4_thumb.png"
|
||||
},
|
||||
{
|
||||
"filename" : "ad_banner_widget5",
|
||||
"name" : {
|
||||
"zh_tw" : "5. 橫幅文字輪播 ( 圖片, 文字區域, 導航圖示 )",
|
||||
"en" : "5. Carousel ( image, title, description, navigation )"
|
||||
},
|
||||
"thumbnail" : "ad_banner5_thumb.png"
|
||||
},
|
||||
{
|
||||
"filename" : "ad_banner_widget7",
|
||||
"name" : {
|
||||
"zh_tw" : "7. 色塊橫幅輪播 ( 圖片, 左邊色塊圖片說明文字, 導航圖示 )",
|
||||
"en" : "7. Carousel ( image, description, navigation )"
|
||||
},
|
||||
"thumbnail" : "ad_banner7_thumb.png"
|
||||
},
|
||||
{
|
||||
"filename" : "ad_banner_widget8_video",
|
||||
"name" : {
|
||||
"zh_tw" : "8. 三欄專業版橫幅輪播 ( 圖片, Youtube影片, 導航圖示 )",
|
||||
"en" : "8. 3 Pro Carousel ( image, Youtube video, navigation )"
|
||||
},
|
||||
"thumbnail" : "ad_banner8_thumb.png"
|
||||
},
|
||||
{
|
||||
"filename" : "ad_banner_widget9_video",
|
||||
"name" : {
|
||||
"zh_tw" : "9. 視差專業版橫幅輪播 ( 圖片, Youtube影片, 導航圖示 )",
|
||||
"en" : "9. style2-Pro Carousel ( image, Youtube video, navigation )"
|
||||
},
|
||||
"thumbnail" : "ad_banner4_thumb.png"
|
||||
},
|
||||
{
|
||||
"filename" : "ad_banner_widget10",
|
||||
"name" : {
|
||||
"zh_tw" : "10. 一長其他短-廣告輪播 ( 圖片 )",
|
||||
"en" : "10. onelong anothershort-AD banner ( image )"
|
||||
},
|
||||
"thumbnail" : "ad_banner10_thumb.png"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
After Width: | Height: | Size: 9.7 KiB |
|
After Width: | Height: | Size: 11 KiB |
|
After Width: | Height: | Size: 10 KiB |
|
After Width: | Height: | Size: 8.0 KiB |
|
After Width: | Height: | Size: 5.6 KiB |
|
After Width: | Height: | Size: 8.3 KiB |
|
After Width: | Height: | Size: 10 KiB |
|
After Width: | Height: | Size: 10 KiB |
|
After Width: | Height: | Size: 9.8 KiB |
|
After Width: | Height: | Size: 4.0 KiB |
|
|
@ -0,0 +1,33 @@
|
|||
<div class="w-annc widget-announcement-1">
|
||||
<h3 class="w-annc__widget-title">
|
||||
<span>{{widget-title}}</span>
|
||||
</h3>
|
||||
<ul class="w-annc__list" data-level="0" data-list="announcements">
|
||||
<li class="w-annc__item">
|
||||
|
||||
<div class="w-annc__img-wrap ">
|
||||
<a href="{{link_to_show}}" aria-label="前往{{widget-title}}" title="{{widget-title}}">
|
||||
<img class="w-annc__img" src="{{img_src}}" alt="{{img_description}}" title="{{img_description}}">
|
||||
</a>
|
||||
</div>
|
||||
<div class="w-annc__meta">
|
||||
<span class="w-annc__status-wrap" data-list="statuses" data-level="1">
|
||||
<span class="w-annc__status label status {{status-class}}">{{status}}</span>
|
||||
</span>
|
||||
<span class="w-annc__postdate-wrap" date-format="%Y-%m-%d">
|
||||
<span class="w-annc__postdate">{{postdate}}</span>
|
||||
</span>
|
||||
<span class="w-annc__category-wrap">
|
||||
<span class="w-annc__category">{{category}}</span>
|
||||
</span>
|
||||
</div>
|
||||
<h4 class="w-annc__entry-title">
|
||||
<a class="w-annc__title" href="{{link_to_show}}">{{title}}</a>
|
||||
</h4>
|
||||
<p class="w-annc__subtitle"><a href="{{link_to_show}}">{{subtitle}}</a></p>
|
||||
</li>
|
||||
</ul>
|
||||
<div class="w-annc__more-wrap clearfix">
|
||||
<a class="w-annc__more btn btn-primary pull-right" href="{{more_url}}"><%= (I18n.locale.to_s =="zh_tw") ? "更多最新消息" : "More NEWS" %></a>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -0,0 +1,22 @@
|
|||
<div class="w-annc widget-announcement-10">
|
||||
<h3 class="w-annc__widget-title">
|
||||
<span>{{widget-title}}</span>
|
||||
</h3>
|
||||
<ul class="w-annc__list" data-level="0" data-list="announcements">
|
||||
<li class="w-annc__item row">
|
||||
<h4 class="w-annc__entry-title col-sm-10">
|
||||
<span class="w-annc__status-wrap" data-list="statuses" data-level="1">
|
||||
<span class="w-annc__status label status {{status-class}}">{{status}}</span>
|
||||
</span>
|
||||
<a class="w-annc__title" href="{{link_to_show}}">{{title}}</a>
|
||||
</h4>
|
||||
<span class="w-annc__postdate-wrap col-sm-2" date-format="%Y-%m-%d">
|
||||
|
||||
<span class="w-annc__postdate">{{postdate}}</span>
|
||||
</span>
|
||||
</li>
|
||||
</ul>
|
||||
<div class="w-annc__more-wrap clearfix">
|
||||
<a class="w-annc__more btn btn-primary pull-right" href="{{more_url}}"><%= (I18n.locale.to_s =="zh_tw") ? "更多最新消息" : "More NEWS" %></a>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -0,0 +1,22 @@
|
|||
<div class="w-annc widget-announcement-11">
|
||||
<h3 class="w-annc__widget-title">
|
||||
<span>{{widget-title}}</span>
|
||||
</h3>
|
||||
<ul class="w-annc__list" data-level="0" data-list="announcements">
|
||||
<li class="w-annc__item row">
|
||||
<span class="w-annc__postdate-wrap col-sm-2" date-format="%Y-%m-%d">
|
||||
|
||||
<span class="w-annc__postdate">{{postdate}}</span>
|
||||
</span>
|
||||
<h4 class="w-annc__entry-title col-sm-10">
|
||||
<span class="w-annc__status-wrap" data-list="statuses" data-level="1">
|
||||
<span class="w-annc__status label status {{status-class}}">{{status}}</span>
|
||||
</span>
|
||||
<a class="w-annc__title" href="{{link_to_show}}">{{title}}</a>
|
||||
</h4>
|
||||
</li>
|
||||
</ul>
|
||||
<div class="w-annc__more-wrap clearfix">
|
||||
<a class="w-annc__more btn btn-primary pull-right" href="{{more_url}}"><%= (I18n.locale.to_s =="zh_tw") ? "更多最新消息" : "More NEWS" %></a>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -0,0 +1,27 @@
|
|||
<div class="w-annc widget-announcement-12">
|
||||
<h3 class="w-annc__widget-title">
|
||||
<span>{{widget-title}}</span>
|
||||
</h3>
|
||||
<table class="w-annc__table table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="w-annc__th w-annc__th--title">{{title-head}}</th>
|
||||
<th class="w-annc__th w-annc__th--date">{{date-head}}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody data-level="0" data-list="announcements">
|
||||
<tr>
|
||||
<td class="w-annc_content">
|
||||
<span class="w-annc__status-wrap" data-list="statuses" data-level="1">
|
||||
<span class="w-annc__status label status {{status-class}}">{{status}}</span>
|
||||
</span>
|
||||
<a class="w-annc__title" href="{{link_to_show}}">{{title}}</a>
|
||||
</td>
|
||||
<td class="w-annc__postdate" date-format="%Y-%m-%d">{{postdate}}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<div class="w-annc__more-wrap clearfix">
|
||||
<a class="w-annc__more btn btn-primary pull-right" href="{{more_url}}"><%= (I18n.locale.to_s =="zh_tw") ? "更多最新消息" : "More NEWS" %></a>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -0,0 +1,27 @@
|
|||
<div class="w-annc widget-announcement-13">
|
||||
<h3 class="w-annc__widget-title">
|
||||
<span>{{widget-title}}</span>
|
||||
</h3>
|
||||
<table class="w-annc__table table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="w-annc__th w-annc__th--date">{{date-head}}</th>
|
||||
<th class="w-annc__th w-annc__th--title">{{title-head}}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody data-level="0" data-list="announcements">
|
||||
<tr>
|
||||
<td class="w-annc__postdate" date-format="%Y-%m-%d">{{postdate}}</td>
|
||||
<td class="w-annc_content">
|
||||
<span class="w-annc__status-wrap" data-list="statuses" data-level="1">
|
||||
<span class="w-annc__status label status {{status-class}}">{{status}}</span>
|
||||
</span>
|
||||
<a class="w-annc__title" href="{{link_to_show}}">{{title}}</a>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<div class="w-annc__more-wrap clearfix">
|
||||
<a class="w-annc__more btn btn-primary pull-right" href="{{more_url}}"><%= (I18n.locale.to_s =="zh_tw") ? "更多最新消息" : "More NEWS" %></a>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -0,0 +1,29 @@
|
|||
<div class="w-annc widget-announcement-14">
|
||||
<h3 class="w-annc__widget-title">
|
||||
<span>{{widget-title}}</span>
|
||||
</h3>
|
||||
<div class="w-annc__inner row">
|
||||
<div class="w-annc__img-wrap col-sm-12 bullseye">
|
||||
<img class="w-annc__img" src="{{main_picture}}" alt="{{main_picture_description}}" title="{{main_picture_description}}">
|
||||
</div>
|
||||
<ul class="w-annc__list col-sm-12" data-level="0" data-list="announcements">
|
||||
<li class="w-annc__item">
|
||||
<div class="w-annc__content row">
|
||||
<h4 class="w-annc__entry-title col-xs-9">
|
||||
<span class="w-annc__status-wrap" data-list="statuses" data-level="1">
|
||||
<span class="w-annc__status label {{status-class}}">{{status}}</span>
|
||||
</span>
|
||||
<a class="w-annc__title" href="{{link_to_show}}">{{title}}</a>
|
||||
</h4>
|
||||
<span class="w-annc__postdate-wrap col-xs-3" date-format="%Y-%m-%d">
|
||||
|
||||
<span class="w-annc__postdate">{{postdate}}</span>
|
||||
</span>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="w-annc__more-wrap clearfix">
|
||||
<a class="w-annc__more btn btn-primary pull-right" href="{{more_url}}"><%= (I18n.locale.to_s =="zh_tw") ? "更多最新消息" : "More NEWS" %></a>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -0,0 +1,181 @@
|
|||
<div class="w-annc widget-announcement-4 w-annc widget-announcement-15" style="position:relative;">
|
||||
<div class="w-annc__more-wrap clearfix">
|
||||
<h3 class="w-annc__widget-title">
|
||||
<span>{{widget-title}}</span>
|
||||
</h3>
|
||||
<a class="w-annc__more btn btn-primary pull-right" href="{{more_url}}"><%= (I18n.locale.to_s =="zh_tw") ? "更多最新消息" : "More NEWS" %></a>
|
||||
</div>
|
||||
<div style="position: absolute;top: 50%;width:100%; z-index: 101;">
|
||||
<div style="">
|
||||
<button id="prev-{{subpart-id}}" class="btn-left" title = "<%= (I18n.locale.to_s =="zh_tw") ? "上一張" : "prev" %>" style="float: left;height: 2.5em; width: 2.5em;background: border: 0;background-size: contain;position: absolute;transition:.3s; left: 0.6%;color: #ffffff;
|
||||
background: rgba(0, 0, 0, 0.2);
|
||||
border-radius: 50%;
|
||||
border: none; z-index: 2;"><i class="fa fa-angle-left prev-button" aria-hidden="true" style="font-size: 1.5rem;"></i><span style="display: none;"><%= (I18n.locale.to_s =="zh_tw") ? "上一張" : "prev" %></span></button>
|
||||
<button id="next-{{subpart-id}}" class="btn-right" title = "<%= (I18n.locale.to_s =="zh_tw") ? "下一張" : "next" %>" style="float: right;;height: 2.5em; width: 2.5em;background-size: contain;border: 0;position: absolute;transition:.3s;right: 0.6%;color: #ffffff;
|
||||
background: rgba(0, 0, 0, 0.2);
|
||||
border-radius: 50%;
|
||||
border: none; z-index: 2;"><i class="fa fa-angle-right next-button" aria-hidden="true" style="font-size: 1.5rem;"></i><span style="display: none;"><%= (I18n.locale.to_s =="zh_tw") ? "下一張" : "next" %></span></button>
|
||||
</div>
|
||||
</div>
|
||||
<ul class="w-annc__list row cycle-slideshow" data-level="0" data-list="announcements" data-cycle-fx="carousel"
|
||||
data-cycle-timeout="0"
|
||||
data-cycle-carousel-visible="3"
|
||||
data-cycle-carousel-fluid="true"
|
||||
data-cycle-next="#next-{{subpart-id}}"
|
||||
data-cycle-prev="#prev-{{subpart-id}}"
|
||||
data-cycle-slides=".w-annc__item" >
|
||||
<li class="w-annc__item " >
|
||||
<div class="w-annc__img-wrap bullseye" style="position:relative">
|
||||
<a href="{{link_to_show}}" aria-label="前往{{widget-title}}" title="{{widget-title}}">
|
||||
<img class="w-annc__img" src="{{img_src}}" alt="{{img_description}}" title="{{img_description}}">
|
||||
<div class="transitionfade"></div>
|
||||
</a>
|
||||
</div>
|
||||
<div class="w-annc__content-wrap">
|
||||
<div class="w-annc__meta">
|
||||
<span class="w-annc__status-wrap" data-list="statuses" data-level="1">
|
||||
<span class="w-annc__status label {{status-class}}">{{status}}</span>
|
||||
</span>
|
||||
<span class="w-annc__postdate-wrap" date-format="%Y-%m-%d">
|
||||
<i class="fa-regular fa-calendar"></i>
|
||||
<span class="w-annc__postdate">{{postdate}}</span>
|
||||
</span>
|
||||
<span class="w-annc__category-wrap">
|
||||
<i class="fa-solid fa-list"></i>
|
||||
<span class="w-annc__category">{{category}}</span>
|
||||
</span>
|
||||
</div>
|
||||
<h4 class="w-annc__entry-title">
|
||||
<a class="w-annc__title" href="{{link_to_show}}">{{title}}</a>
|
||||
</h4>
|
||||
<p class="w-annc__subtitle">{{subtitle}}</p>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<script src="//code.jquery.com/ui/1.13.2/jquery-ui.js"></script>
|
||||
<!-- <script>
|
||||
function combineul_{{subpart-id}}(){
|
||||
var parents = $('[data-subpart-id=\"{{subpart-id}}\"] ul.w-annc__list').parent();
|
||||
parents.each(function(i,v){
|
||||
for(var i=1;i<$(v).find('ul.w-annc__list').length;i++)
|
||||
$(v).find('ul.w-annc__list').eq(0).find('>li').eq(-1).after($(v).find('ul.w-annc__list').eq(i).html());
|
||||
var ullength = $(v).find('ul.w-annc__list').length;
|
||||
for(var i = 1;i < ullength;i++)
|
||||
$(v).find('ul.w-annc__list').eq(-1).remove();
|
||||
})
|
||||
};
|
||||
var num;
|
||||
var lilength = $('[data-subpart-id=\"{{subpart-id}}\"] li.w-annc__item').length;
|
||||
function reorganize_{{subpart-id}}(num){
|
||||
var uls = $('[data-subpart-id=\"{{subpart-id}}\"] ul.w-annc__list').toArray();
|
||||
var currentul = uls.findIndex(function(v){
|
||||
return $(v).hasClass("active") && !$(v).hasClass("hidden_item");
|
||||
})
|
||||
if(currentul == -1)
|
||||
currentul = 0;
|
||||
var li_active_idx = 0;
|
||||
if(currentul != 0)
|
||||
li_active_idx = $(uls[currentul]).find("li.w-annc__item").eq(0).index("li.w-annc__item");
|
||||
combineul_{{subpart-id}}();
|
||||
var parents = $('[data-subpart-id=\"{{subpart-id}}\"] ul.w-annc__list').parent();
|
||||
parents.each(function(i,v){
|
||||
var lilength = $(v).find('li.w-annc__item').length;
|
||||
var ul_length = Math.ceil(lilength/num);
|
||||
for(var ii=1;ii< ul_length;ii++){
|
||||
var clone_ul = $(v).find('ul.w-annc__list').eq(-1).clone();
|
||||
clone_ul.empty();
|
||||
clone_ul.removeClass("active");
|
||||
clone_ul.css("display","");
|
||||
$(v).find('ul.w-annc__list').eq(-1).after(clone_ul.prop("outerHTML"));
|
||||
var lihtml="";
|
||||
if(ii != (ul_length-1)){
|
||||
for(var j=0;j<num;j++){
|
||||
lihtml += $(v).find('li.w-annc__item').eq(ii*num+j).prop("outerHTML");
|
||||
};
|
||||
}else{
|
||||
for(var j=0;j< lilength - num *(ul_length-1) ;j++){
|
||||
lihtml += $(v).find('li.w-annc__item').eq(ii*num+j).prop("outerHTML");
|
||||
};
|
||||
};
|
||||
$(v).find('ul.w-annc__list').eq(-1).html(lihtml);
|
||||
}
|
||||
if(ul_length != 1 )
|
||||
for(var i=0;i< lilength -num ; i++)
|
||||
$(v).find('ul.w-annc__list').eq(0).find("li.w-annc__item").eq(num).remove();
|
||||
})
|
||||
$('[data-subpart-id=\"{{subpart-id}}\"] ul.w-annc__list').css("display","none");
|
||||
$('[data-subpart-id=\"{{subpart-id}}\"] ul.w-annc__list').css('padding','0 1.125em');
|
||||
$('[data-subpart-id=\"{{subpart-id}}\"] button').css('z-index','10');
|
||||
$('[data-subpart-id=\"{{subpart-id}}\"] ul.w-annc__list >li').css('width','calc('+100/num+'% - '+20/16+'em)'); //20px=>li的margin
|
||||
$('[data-subpart-id=\"{{subpart-id}}\"] ul.w-annc__list >li').css('float','left');
|
||||
var active_ul = $("[data-subpart-id=\"{{subpart-id}}\"] li.w-annc__item").eq(li_active_idx).parents("ul.w-annc__list");
|
||||
active_ul.addClass("active");
|
||||
active_ul.removeClass("hidden_item");
|
||||
active_ul.css("display","");
|
||||
};
|
||||
$(window).resize(function(){
|
||||
if($(window).width()>1024){
|
||||
reorganize_{{subpart-id}}(3);
|
||||
num=3;
|
||||
}else if($(window).width()>576){
|
||||
reorganize_{{subpart-id}}(2);
|
||||
num=2;
|
||||
}else{
|
||||
reorganize_{{subpart-id}}(1);
|
||||
num=1;
|
||||
}
|
||||
})
|
||||
$(document).ready(function(){
|
||||
if($(window).width()>1024){
|
||||
reorganize_{{subpart-id}}(3);
|
||||
num=3;
|
||||
}else if($(window).width()>576){
|
||||
reorganize_{{subpart-id}}(2);
|
||||
num=2;
|
||||
}else{
|
||||
reorganize_{{subpart-id}}(1);
|
||||
num=1;
|
||||
}
|
||||
var flag=false;
|
||||
$('[data-subpart-id=\"{{subpart-id}}\"] .btn-left').click(function(){
|
||||
if(!flag){
|
||||
var uls = $('[data-subpart-id=\"{{subpart-id}}\"] ul.w-annc__list:not(.hidden_item)').toArray();
|
||||
var ul_length = uls.length;
|
||||
var currentul = uls.findIndex(function(v){
|
||||
return $(v).hasClass("active");
|
||||
})
|
||||
$('[data-subpart-id=\"{{subpart-id}}\"] ul.w-annc__list').css('display','none');
|
||||
if(currentul - 1 < 0)
|
||||
currentul += ul_length;
|
||||
$('[data-subpart-id=\"{{subpart-id}}\"] ul.w-annc__list:not(.hidden_item)').removeClass("active");
|
||||
var active_item = $(uls[currentul-1]);
|
||||
active_item.addClass("active");
|
||||
active_item.find("li").css("display","block");
|
||||
flag=true;
|
||||
$("body").css("overflow-x","hidden");
|
||||
$('[data-subpart-id=\"{{subpart-id}}\"] ul.w-annc__list.active').eq(0).effect("slide", { direction: "left", mode: 'show', duration: 500},function(){$("body").css("overflow-x","");flag=false;});
|
||||
};
|
||||
});
|
||||
$('[data-subpart-id=\"{{subpart-id}}\"] .btn-right').click(function(){
|
||||
var lilength = $('[data-subpart-id=\"{{subpart-id}}\"] li.w-annc__item').length;
|
||||
if(!flag){
|
||||
var uls = $('[data-subpart-id=\"{{subpart-id}}\"] ul.w-annc__list:not(.hidden_item)').toArray();
|
||||
var ul_length = uls.length;
|
||||
var currentul = uls.findIndex(function(v){
|
||||
return $(v).hasClass("active");
|
||||
})
|
||||
$('[data-subpart-id=\"{{subpart-id}}\"] ul.w-annc__list').css('display','none');
|
||||
if(currentul + 1 > ul_length - 1)
|
||||
currentul -= ul_length;
|
||||
$('[data-subpart-id=\"{{subpart-id}}\"] ul.w-annc__list:not(.hidden_item)').removeClass("active");
|
||||
var active_item = $(uls[currentul+1]);
|
||||
active_item.addClass("active");
|
||||
active_item.find("li").css("display","block");
|
||||
flag=true;
|
||||
$("body").css("overflow-x","hidden");
|
||||
$('[data-subpart-id=\"{{subpart-id}}\"] ul.w-annc__list.active').eq(0).effect("slide", { direction: "right", mode: 'show', duration: 500},function(){$("body").css("overflow-x","");flag=false;});
|
||||
};
|
||||
});
|
||||
});
|
||||
</script> -->
|
||||
|
|
@ -0,0 +1,48 @@
|
|||
<div class="w-annc widget-announcement-16">
|
||||
|
||||
<h3 class="w-annc__widget-title">
|
||||
<span>{{widget-title}}</span>
|
||||
</h3>
|
||||
|
||||
|
||||
<div class="w-annc__wrap cycle-slideshow"
|
||||
data-level="0"
|
||||
data-list="announcements"
|
||||
data-cycle-slides=".w-annc__item"
|
||||
data-cycle-fx="carousel"
|
||||
data-cycle-carousel-fluid=true
|
||||
data-cycle-pause-on-hover="true"
|
||||
data-cycle-speed="200"
|
||||
data-cycle-carousel-visible="1"
|
||||
data-cycle-prev=".cycle-prev"
|
||||
data-cycle-next=".cycle-next"
|
||||
data-cycle-swipe=true
|
||||
data-cycle-swipe-fx="carousel"
|
||||
>
|
||||
|
||||
<div class="w-annc__item">
|
||||
<div class="w-annc__img-wrap">
|
||||
<img class="w-annc__img" src="{{img_src}}" alt="{{img_description}}" title="{{img_description}}">
|
||||
</div>
|
||||
<div class="w-annc__content-wrap">
|
||||
<div class="w-annc__meta">
|
||||
<span class="w-annc__status-wrap" data-list="statuses" data-level="1">
|
||||
<span class="w-annc__status label {{status-class}}">{{status}}</span>
|
||||
</span>
|
||||
<span class="w-annc__postdate-wrap" date-format="%Y-%m-%d">
|
||||
<span class="w-annc__postdate">{{postdate}}</span>
|
||||
</span>
|
||||
</div>
|
||||
<h4 class="w-annc__entry-title">
|
||||
<a class="w-annc__title" href="{{link_to_show}}">{{title}}</a>
|
||||
</h4>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="slide-button">
|
||||
<button class="cycle-prev btn btn-warning" title="上一張" aria-label="上一張"> <i class="fa fa-angle-left"></i></button>
|
||||
<button class="cycle-next btn btn-warning" title="下一張" aria-label="下一張"> <i class="fa fa-angle-right"></i></button>
|
||||
<a class="w-annc__more btn btn-primary pull-right" href="{{more_url}}"><%= (I18n.locale.to_s =="zh_tw") ? "更多+" : "More NEWS" %></a>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -0,0 +1,31 @@
|
|||
<div class="w-annc widget-announcement-17">
|
||||
<div class="search_block">
|
||||
<p>Search</p>
|
||||
<form accept-charset="UTF-8" action="{{more_url}}" method="get"><div style="margin:0;padding:0;display:inline"><input name="utf8" type="hidden" value="✓"></div>
|
||||
<p>
|
||||
<input id="search_query" name="keywords" placeholder="搜尋" type="text">
|
||||
<input type="submit" value="搜尋">
|
||||
</p>
|
||||
</form>
|
||||
</div>
|
||||
<h3 class="w-annc__widget-title">
|
||||
<span>{{widget-title}}</span>
|
||||
</h3>
|
||||
<ul class="w-annc__list" data-level="0" data-list="announcements">
|
||||
<li class="w-annc__item row">
|
||||
<span class="w-annc__postdate-wrap col-sm-3" date-format="%Y-%m-%d">
|
||||
<i class="fa-regular fa-calendar"></i>
|
||||
<span class="w-annc__postdate">{{postdate}}</span>
|
||||
</span>
|
||||
<h4 class="w-annc__entry-title col-sm-9">
|
||||
<span class="w-annc__status-wrap" data-list="statuses" data-level="1">
|
||||
<span class="w-annc__status label status {{status-class}}">{{status}}</span>
|
||||
</span>
|
||||
<a class="w-annc__title" href="{{link_to_show}}">{{title}}</a>
|
||||
</h4>
|
||||
</li>
|
||||
</ul>
|
||||
<div class="w-annc__more-wrap clearfix">
|
||||
<a class="w-annc__more btn btn-primary pull-right" href="{{more_url}}"><%= (I18n.locale.to_s =="zh_tw") ? "更多最新消息" : "More NEWS" %></a>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -0,0 +1,86 @@
|
|||
<div class="w-annc widget-announcement-18">
|
||||
<div class="w-annc__more-wrap clearfix">
|
||||
<h3 class="w-annc__widget-title">
|
||||
<span>{{widget-title}}</span>
|
||||
</h3>
|
||||
<a class="w-annc__more btn btn-primary pull-right" href="{{more_url}}"><%= (I18n.locale.to_s =="zh_tw") ? "更多最新消息" : "More NEWS" %></a>
|
||||
</div>
|
||||
<ul class="w-annc__list row" data-level="0" data-list="announcements">
|
||||
<li class="w-annc__item col-sm-4">
|
||||
<div class="w-annc__img-wrap">
|
||||
<a href="{{link_to_show}}" aria-label="前往{{widget-title}}" title="{{widget-title}}">
|
||||
<img class="w-annc__img" src="{{img_src}}" alt="{{img_description}}" title="{{img_description}}">
|
||||
</a>
|
||||
</div>
|
||||
<div class="w-annc__content-wrap">
|
||||
<h4 class="w-annc__entry-title">
|
||||
<a class="w-annc__title" href="{{link_to_show}}">{{title}}</a>
|
||||
</h4>
|
||||
<div class="w-annc__subtitle">{{subtitle}}</div>
|
||||
<div class="w-annc_read_more"><a href="{{link_to_show}}" title="{{title}}">{{read_more_text}}</a></div>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<style type="text/css">
|
||||
.widget-announcement-18 [data-list="announcements"] li > *{
|
||||
background: #ffffff;
|
||||
width: 100%;
|
||||
float: left;
|
||||
}
|
||||
.widget-announcement-18 [data-list="announcements"] .w-annc__img{
|
||||
width: 100%;
|
||||
}
|
||||
.widget-announcement-18 [data-list="announcements"] .w-annc__content-wrap{
|
||||
padding: 0 1em;
|
||||
}
|
||||
.widget-announcement-18 .w-annc__title {
|
||||
line-height: 1.3;
|
||||
font-size: 1.2rem;
|
||||
}
|
||||
.widget-announcement-18 .w-annc__widget-title {
|
||||
float: left;
|
||||
}
|
||||
.widget-announcement-18 .w-annc__more {
|
||||
margin-top: 1.5em;
|
||||
}
|
||||
.widget-announcement-18 .w-annc__list > .w-annc__item:nth-child(3n+1) {
|
||||
clear: both;
|
||||
}
|
||||
.widget-announcement-18 li.w-annc__item{
|
||||
float: left;
|
||||
}
|
||||
|
||||
.widget-announcement-18 .w-annc__img-wrap {
|
||||
padding: 0 0 1em 0;
|
||||
}
|
||||
.w-annc_read_more{
|
||||
display: inline-block;
|
||||
padding: 1em;
|
||||
}
|
||||
.w-annc_read_more a{
|
||||
float: left;
|
||||
background: #4a97c2;
|
||||
color: #ffffff;
|
||||
padding: 0 0.5em;
|
||||
border-radius: 0.3em;
|
||||
border: 0.5em solid #4a97c2;
|
||||
}
|
||||
.w-annc__subtitle {
|
||||
padding-bottom: 0.3em;
|
||||
}
|
||||
.w-annc_read_more a:hover{
|
||||
background: #327397;
|
||||
border: 0.5em solid #327397;
|
||||
}
|
||||
</style>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function(){
|
||||
$("[data-subpart-id=\"{{subpart-id}}\"] .w-annc__subtitle").each(function(i,v){
|
||||
var subtitle = $(v).text();
|
||||
if(subtitle.length > 15){
|
||||
$(v).text(subtitle.slice(0,15) + "...");
|
||||
}
|
||||
})
|
||||
})
|
||||
</script>
|
||||
|
|
@ -0,0 +1,175 @@
|
|||
<div class="w-annc w-annc widget-announcement-19" style="position:relative;">
|
||||
<div class="w-annc__more-wrap clearfix">
|
||||
<h3 class="w-annc__widget-title">
|
||||
<span>{{widget-title}}</span>
|
||||
</h3>
|
||||
<a class="w-annc__more btn btn-primary pull-right" href="{{more_url}}"><%= (I18n.locale.to_s =="zh_tw") ? "更多最新消息" : "More NEWS" %></a>
|
||||
</div>
|
||||
<div style="position: absolute;top: 50%;width:100%; z-index: 101;">
|
||||
<div style="">
|
||||
<button id="prev-{{subpart-id}}" class="btn-left" title = "<%= (I18n.locale.to_s =="zh_tw") ? "上一張" : "prev" %>" style="float: left;height: 2.5em; width: 2.5em;background: border: 0;background-size: contain;position: absolute;transition:.3s; left: 0.6%;color: #ffffff;
|
||||
background: rgba(0, 0, 0, 0.2);
|
||||
border-radius: 50%;
|
||||
border: none; z-index: 2;"><i class="fa fa-angle-left prev-button" aria-hidden="true" style="font-size: 1.5rem;"></i><span style="display: none;"><%= (I18n.locale.to_s =="zh_tw") ? "上一張" : "prev" %></span></button>
|
||||
<button id="next-{{subpart-id}}" class="btn-right" title = "<%= (I18n.locale.to_s =="zh_tw") ? "下一張" : "next" %>" style="float: right;;height: 2.5em; width: 2.5em;background-size: contain;border: 0;position: absolute;transition:.3s;right: 0.6%;color: #ffffff;
|
||||
background: rgba(0, 0, 0, 0.2);
|
||||
border-radius: 50%;
|
||||
border: none; z-index: 2;"><i class="fa fa-angle-right next-button" aria-hidden="true" style="font-size: 1.5rem;"></i><span style="display: none;"><%= (I18n.locale.to_s =="zh_tw") ? "下一張" : "next" %></span></button>
|
||||
</div>
|
||||
</div>
|
||||
<ul class="w-annc__list row cycle-slideshow" data-level="0" data-list="announcements" data-cycle-fx="carousel"
|
||||
data-cycle-timeout="0"
|
||||
data-cycle-carousel-visible="2"
|
||||
data-cycle-carousel-fluid="true"
|
||||
data-cycle-next="#next-{{subpart-id}}"
|
||||
data-cycle-prev="#prev-{{subpart-id}}"
|
||||
data-cycle-slides=".w-annc__item" >
|
||||
<li class="w-annc__item ">
|
||||
<div class="w-annc__content-wrap" style="position:relative">
|
||||
<a href="{{link_to_show}}" aria-label="前往{{widget-title}}" title="{{widget-title}}">
|
||||
<div class="w-annc__meta">
|
||||
<span class="w-annc__status-wrap" data-list="statuses" data-level="1">
|
||||
<span class="w-annc__status label {{status-class}}">{{status}}</span>
|
||||
</span>
|
||||
<span class="w-annc__postdate-wrap" date-format="%Y-%m-%d">
|
||||
<i class="fa-regular fa-calendar"></i>
|
||||
<span class="w-annc__postdate">{{postdate}}</span>
|
||||
</span>
|
||||
<span class="w-annc__category-wrap">
|
||||
<i class="fa-solid fa-list"></i>
|
||||
<span class="w-annc__category">{{category}}</span>
|
||||
</span>
|
||||
</a>
|
||||
</div>
|
||||
<h4 class="w-annc__entry-title">
|
||||
<a class="w-annc__title" href="{{link_to_show}}">{{title}}</a>
|
||||
</h4>
|
||||
<p class="w-annc__subtitle">{{subtitle}}</p>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<!-- <script src="//code.jquery.com/ui/1.13.2/jquery-ui.js"></script>
|
||||
<script>
|
||||
function combineul_{{subpart-id}}(){
|
||||
var parents = $('[data-subpart-id=\"{{subpart-id}}\"] ul.w-annc__list').parent();
|
||||
parents.each(function(i,v){
|
||||
for(var i=1;i<$(v).find('ul.w-annc__list').length;i++)
|
||||
$(v).find('ul.w-annc__list').eq(0).find('>li').eq(-1).after($(v).find('ul.w-annc__list').eq(i).html());
|
||||
var ullength = $(v).find('ul.w-annc__list').length;
|
||||
for(var i = 1;i < ullength;i++)
|
||||
$(v).find('ul.w-annc__list').eq(-1).remove();
|
||||
})
|
||||
};
|
||||
var num;
|
||||
var lilength = $('[data-subpart-id=\"{{subpart-id}}\"] li.w-annc__item').length;
|
||||
function reorganize_{{subpart-id}}(num){
|
||||
var uls = $('[data-subpart-id=\"{{subpart-id}}\"] ul.w-annc__list').toArray();
|
||||
var currentul = uls.findIndex(function(v){
|
||||
return $(v).hasClass("active") && !$(v).hasClass("hidden_item");
|
||||
})
|
||||
if(currentul == -1)
|
||||
currentul = 0;
|
||||
var li_active_idx = 0;
|
||||
if(currentul != 0)
|
||||
li_active_idx = $(uls[currentul]).find("li.w-annc__item").eq(0).index("li.w-annc__item");
|
||||
combineul_{{subpart-id}}();
|
||||
var parents = $('[data-subpart-id=\"{{subpart-id}}\"] ul.w-annc__list').parent();
|
||||
parents.each(function(i,v){
|
||||
var lilength = $(v).find('li.w-annc__item').length;
|
||||
var ul_length = Math.ceil(lilength/num);
|
||||
for(var ii=1;ii< ul_length;ii++){
|
||||
var clone_ul = $(v).find('ul.w-annc__list').eq(-1).clone();
|
||||
clone_ul.empty();
|
||||
clone_ul.removeClass("active");
|
||||
clone_ul.css("display","");
|
||||
$(v).find('ul.w-annc__list').eq(-1).after(clone_ul.prop("outerHTML"));
|
||||
var lihtml="";
|
||||
if(ii != (ul_length-1)){
|
||||
for(var j=0;j<num;j++){
|
||||
lihtml += $(v).find('li.w-annc__item').eq(ii*num+j).prop("outerHTML");
|
||||
};
|
||||
}else{
|
||||
for(var j=0;j< lilength - num *(ul_length-1) ;j++){
|
||||
lihtml += $(v).find('li.w-annc__item').eq(ii*num+j).prop("outerHTML");
|
||||
};
|
||||
};
|
||||
$(v).find('ul.w-annc__list').eq(-1).html(lihtml);
|
||||
}
|
||||
if(ul_length != 1 )
|
||||
for(var i=0;i< lilength -num ; i++)
|
||||
$(v).find('ul.w-annc__list').eq(0).find("li.w-annc__item").eq(num).remove();
|
||||
})
|
||||
$('[data-subpart-id=\"{{subpart-id}}\"] ul.w-annc__list').css("display","none");
|
||||
$('[data-subpart-id=\"{{subpart-id}}\"] ul.w-annc__list').css('padding','0');
|
||||
$('[data-subpart-id=\"{{subpart-id}}\"] button').css('z-index','10');
|
||||
// $('[data-subpart-id=\"{{subpart-id}}\"] ul.w-annc__list >li').css('width','calc('+100/num+'% - '+100/10+'em)'); //20px=>li的margin
|
||||
$('[data-subpart-id=\"{{subpart-id}}\"] ul.w-annc__list >li').css('float','left');
|
||||
var active_ul = $("[data-subpart-id=\"{{subpart-id}}\"] li.w-annc__item").eq(li_active_idx).parents("ul.w-annc__list");
|
||||
active_ul.addClass("active");
|
||||
active_ul.removeClass("hidden_item");
|
||||
active_ul.css("display","");
|
||||
};
|
||||
$(window).resize(function(){
|
||||
if($(window).width()>1024){
|
||||
reorganize_{{subpart-id}}(2);
|
||||
num=2;
|
||||
}else if($(window).width()>576){
|
||||
reorganize_{{subpart-id}}(2);
|
||||
num=2;
|
||||
}else{
|
||||
reorganize_{{subpart-id}}(1);
|
||||
num=1;
|
||||
}
|
||||
})
|
||||
$(document).ready(function(){
|
||||
if($(window).width()>1024){
|
||||
reorganize_{{subpart-id}}(2);
|
||||
num=2;
|
||||
}else if($(window).width()>576){
|
||||
reorganize_{{subpart-id}}(2);
|
||||
num=2;
|
||||
}else{
|
||||
reorganize_{{subpart-id}}(1);
|
||||
num=1;
|
||||
}
|
||||
var flag=false;
|
||||
$('.btn-left').click(function(){
|
||||
if(!flag){
|
||||
var uls = $('[data-subpart-id=\"{{subpart-id}}\"] ul.w-annc__list:not(.hidden_item)').toArray();
|
||||
var ul_length = uls.length;
|
||||
var currentul = uls.findIndex(function(v){
|
||||
return $(v).hasClass("active");
|
||||
})
|
||||
$('[data-subpart-id=\"{{subpart-id}}\"] ul.w-annc__list').css('display','none');
|
||||
if(currentul - 1 < 0)
|
||||
currentul += ul_length;
|
||||
$('[data-subpart-id=\"{{subpart-id}}\"] ul.w-annc__list:not(.hidden_item)').removeClass("active");
|
||||
var active_item = $(uls[currentul-1]);
|
||||
active_item.addClass("active");
|
||||
active_item.find("li").css("display","block");
|
||||
flag=true;
|
||||
$('[data-subpart-id=\"{{subpart-id}}\"] ul.w-annc__list.active').eq(0).effect("slide", { direction: "right", mode: 'show', duration: 500},function(){flag=false;});
|
||||
};
|
||||
});
|
||||
$('.btn-right').click(function(){
|
||||
var lilength = $('[data-subpart-id=\"{{subpart-id}}\"] li.w-annc__item').length;
|
||||
if(!flag){
|
||||
var uls = $('[data-subpart-id=\"{{subpart-id}}\"] ul.w-annc__list:not(.hidden_item)').toArray();
|
||||
var ul_length = uls.length;
|
||||
var currentul = uls.findIndex(function(v){
|
||||
return $(v).hasClass("active");
|
||||
})
|
||||
$('[data-subpart-id=\"{{subpart-id}}\"] ul.w-annc__list').css('display','none');
|
||||
if(currentul + 1 > ul_length - 1)
|
||||
currentul -= ul_length;
|
||||
$('[data-subpart-id=\"{{subpart-id}}\"] ul.w-annc__list:not(.hidden_item)').removeClass("active");
|
||||
var active_item = $(uls[currentul+1]);
|
||||
active_item.addClass("active");
|
||||
active_item.find("li").css("display","block");
|
||||
flag=true;
|
||||
$('[data-subpart-id=\"{{subpart-id}}\"] ul.w-annc__list.active').eq(0).effect("slide", { direction: "left", mode: 'show', duration: 500},function(){flag=false;});
|
||||
};
|
||||
});
|
||||
});
|
||||
</script> -->
|
||||
|
|
@ -0,0 +1,36 @@
|
|||
<div class="w-annc widget-announcement-2">
|
||||
<h3 class="w-annc__widget-title">
|
||||
<span>{{widget-title}}</span>
|
||||
</h3>
|
||||
<ul class="w-annc__list" data-level="0" data-list="announcements">
|
||||
<li class="w-annc__item row">
|
||||
<div class="w-annc__img-wrap col-sm-4 bullseye">
|
||||
<a href="{{link_to_show}}" aria-label="前往{{widget-title}}" title="{{widget-title}}">
|
||||
<img class="w-annc__img" src="{{img_src}}" alt="{{img_description}}" title="{{img_description}}">
|
||||
</a>
|
||||
</div>
|
||||
<div class="w-annc__content-wrap col-sm-8">
|
||||
<div class="w-annc__meta">
|
||||
<span class="w-annc__status-wrap" data-list="statuses" data-level="1">
|
||||
<span class="w-annc__status label status {{status-class}}">{{status}}</span>
|
||||
</span>
|
||||
<span class="w-annc__postdate-wrap" date-format="%Y-%m-%d">
|
||||
|
||||
<span class="w-annc__postdate">{{postdate}}</span>
|
||||
</span>
|
||||
<span class="w-annc__category-wrap">
|
||||
|
||||
<span class="w-annc__category">{{category}}</span>
|
||||
</span>
|
||||
</div>
|
||||
<h4 class="w-annc__entry-title">
|
||||
<a class="w-annc__title" href="{{link_to_show}}">{{title}}</a>
|
||||
</h4>
|
||||
<p class="w-annc__subtitle"><a href="{{link_to_show}}">{{subtitle}}</a></p>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
<div class="w-annc__more-wrap clearfix">
|
||||
<a class="w-annc__more btn btn-primary pull-right" href="{{more_url}}"><%= (I18n.locale.to_s =="zh_tw") ? "更多最新消息" : "More NEWS" %></a>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -0,0 +1,111 @@
|
|||
<div class="w-annc widget-announcement-20">
|
||||
<div class="w-annc__more-wrap clearfix">
|
||||
<h3 class="w-annc__widget-title">
|
||||
<span>{{widget-title}}</span>
|
||||
</h3>
|
||||
<a class="w-annc__more btn btn-primary pull-right" href="{{more_url}}"><%= (I18n.locale.to_s =="zh_tw") ? "更多最新消息" : "More NEWS" %></a>
|
||||
</div>
|
||||
<ul class="w-annc__list row" data-level="0" data-list="announcements">
|
||||
<li class="w-annc__item col-md-4">
|
||||
<div class="w-annc__img-wrap bullseye" >
|
||||
<a href="{{link_to_show}}" aria-label="前往{{widget-title}}" title="{{widget-title}}">
|
||||
<img class="w-annc__img" src="{{img_src}}" alt="{{img_description}}" title="{{img_description}}">
|
||||
<div class="transitionfade"></div>
|
||||
</a>
|
||||
</div>
|
||||
<div class="w-annc__content-wrap card">
|
||||
<div class="w-annc__meta">
|
||||
<span class="w-annc__status-wrap" data-list="statuses" data-level="1">
|
||||
<span class="w-annc__status label {{status-class}}">{{status}}</span>
|
||||
</span>
|
||||
<span class="w-annc__postdate-wrap" date-format="%Y-%m-%d">
|
||||
<i class="fa-regular fa-calendar"></i>
|
||||
<span class="w-annc__postdate">{{postdate}}</span>
|
||||
</span>
|
||||
<span class="w-annc__category-wrap">
|
||||
<i class="fa-solid fa-list"></i>
|
||||
<span class="w-annc__category">{{category}}</span>
|
||||
</span>
|
||||
</div>
|
||||
<h4 class="w-annc__entry-title">
|
||||
<a class="w-annc__title" href="{{link_to_show}}">{{title}}</a>
|
||||
</h4>
|
||||
<p class="w-annc__subtitle">{{subtitle}}</p>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<style type="text/css">
|
||||
[data-subpart-id="{{subpart-id}}"] .bullseye{
|
||||
overflow: hidden;
|
||||
}
|
||||
</style>
|
||||
<script>
|
||||
function combineul_{{subpart-id}}(){
|
||||
var parents = $('[data-subpart-id=\"{{subpart-id}}\"] ul.w-annc__list').parent();
|
||||
parents.each(function(i,v){
|
||||
for(var i=1;i<$(v).find('ul.w-annc__list').length;i++)
|
||||
$(v).find('ul.w-annc__list').eq(0).find('>li').eq(-1).after($(v).find('ul.w-annc__list').eq(i).html());
|
||||
var ullength = $(v).find('ul.w-annc__list').length;
|
||||
for(var i = 1;i < ullength;i++)
|
||||
$(v).find('ul.w-annc__list').eq(-1).remove();
|
||||
})
|
||||
};
|
||||
var num;
|
||||
var lilength = $('[data-subpart-id=\"{{subpart-id}}\"] li.w-annc__item').length;
|
||||
function reorganize_{{subpart-id}}(num){
|
||||
combineul_{{subpart-id}}();
|
||||
var parents = $('[data-subpart-id=\"{{subpart-id}}\"] ul.w-annc__list').parent();
|
||||
parents.each(function(i,v){
|
||||
var lilength = $(v).find('li.w-annc__item').length;
|
||||
var ul_length = Math.ceil(lilength/num);
|
||||
for(var ii=1;ii< ul_length;ii++){
|
||||
var clone_ul = $(v).find('ul.w-annc__list').eq(-1).clone();
|
||||
clone_ul.empty();
|
||||
clone_ul.removeClass("active");
|
||||
clone_ul.css("display","");
|
||||
$(v).find('ul.w-annc__list').eq(-1).after(clone_ul.prop("outerHTML"));
|
||||
var lihtml="";
|
||||
if(ii != (ul_length-1)){
|
||||
for(var j=0;j<num;j++){
|
||||
lihtml += $(v).find('li.w-annc__item').eq(ii*num+j).prop("outerHTML");
|
||||
};
|
||||
}else{
|
||||
for(var j=0;j< lilength - num *(ul_length-1) ;j++){
|
||||
lihtml += $(v).find('li.w-annc__item').eq(ii*num+j).prop("outerHTML");
|
||||
};
|
||||
};
|
||||
$(v).find('ul.w-annc__list').eq(-1).html(lihtml);
|
||||
}
|
||||
if(ul_length != 1 )
|
||||
for(var i=0;i< lilength -num ; i++)
|
||||
$(v).find('ul.w-annc__list').eq(0).find("li.w-annc__item").eq(num).remove();
|
||||
})
|
||||
$('[data-subpart-id=\"{{subpart-id}}\"] ul.w-annc__list >li').css('width','calc('+100/num+'% - '+20/20+'em)'); //20px=>li的margin
|
||||
$('[data-subpart-id=\"{{subpart-id}}\"] ul.w-annc__list >li').css("float","left");
|
||||
};
|
||||
$(window).resize(function(){
|
||||
if($(window).width()>1024){
|
||||
reorganize_{{subpart-id}}(3);
|
||||
num=3;
|
||||
}else if($(window).width()>576){
|
||||
reorganize_{{subpart-id}}(2);
|
||||
num=2;
|
||||
}else{
|
||||
reorganize_{{subpart-id}}(1);
|
||||
num=1;
|
||||
}
|
||||
})
|
||||
$(document).ready(function(){
|
||||
if($(window).width()>1024){
|
||||
reorganize_{{subpart-id}}(3);
|
||||
num=3;
|
||||
}else if($(window).width()>576){
|
||||
reorganize_{{subpart-id}}(2);
|
||||
num=2;
|
||||
}else{
|
||||
reorganize_{{subpart-id}}(1);
|
||||
num=1;
|
||||
}
|
||||
})
|
||||
</script>
|
||||
|
|
@ -0,0 +1,55 @@
|
|||
<div class="w-annc widget-announcement-4 widget-announcement-21">
|
||||
<div class="w-annc__more-wrap clearfix">
|
||||
<h3 class="w-annc__widget-title">
|
||||
<span>{{widget-title}}</span>
|
||||
</h3>
|
||||
<a class="w-annc__more btn btn-primary pull-right" href="{{more_url}}"><%= (I18n.locale.to_s =="zh_tw") ? "更多最新消息" : "More NEWS" %></a>
|
||||
</div>
|
||||
<div style="position: absolute;top: 62%;width:100%; z-index: 101;">
|
||||
<div style="">
|
||||
<button id="prev-{{subpart-id}}" class="btn-left" title = "<%= (I18n.locale.to_s =="zh_tw") ? "上一張" : "prev" %>" style="float: left;height: 2.5em; width: 2.5em;background: border: 0;background-size: contain;position: absolute;transition:.3s; left: 0.6%;color: #ffffff;
|
||||
background: rgba(0, 0, 0, 0.2);
|
||||
border-radius: 50%;
|
||||
border: none; z-index: 2;"><i class="fa fa-angle-left prev-button" aria-hidden="true" style="font-size: 1.5rem;"></i><span style="display: none;"><%= (I18n.locale.to_s =="zh_tw") ? "上一張" : "prev" %></span></button>
|
||||
<button id="next-{{subpart-id}}" class="btn-right" title = "<%= (I18n.locale.to_s =="zh_tw") ? "下一張" : "next" %>" style="float: right;;height: 2.5em; width: 2.5em;background-size: contain;border: 0;position: absolute;transition:.3s;right: 0.6%;color: #ffffff;
|
||||
background: rgba(0, 0, 0, 0.2);
|
||||
border-radius: 50%;
|
||||
border: none; z-index: 2;"><i class="fa fa-angle-right next-button" aria-hidden="true" style="font-size: 1.5rem;"></i><span style="display: none;"><%= (I18n.locale.to_s =="zh_tw") ? "下一張" : "next" %></span></button>
|
||||
</div>
|
||||
</div>
|
||||
<ul class="w-annc__list row cycle-slideshow" data-level="0" data-list="announcements" data-cycle-fx="carousel"
|
||||
data-cycle-timeout="0"
|
||||
data-cycle-carousel-visible="3"
|
||||
data-cycle-carousel-fluid="true"
|
||||
data-cycle-next="#next-{{subpart-id}}"
|
||||
data-cycle-prev="#prev-{{subpart-id}}"
|
||||
data-cycle-slides=".w-annc__item" >
|
||||
<li class="w-annc__item">
|
||||
<div class="w-annc__img-wrap bullseye" >
|
||||
<a href="{{link_to_show}}" aria-label="前往{{widget-title}}" title="{{widget-title}}">
|
||||
<img class="w-annc__img" src="{{img_src}}" alt="{{img_description}}" title="{{img_description}}">
|
||||
<div class="transitionfade"></div>
|
||||
</a>
|
||||
</div>
|
||||
<div class="w-annc__content-wrap card">
|
||||
<div class="w-annc__meta">
|
||||
<span class="w-annc__status-wrap" data-list="statuses" data-level="1">
|
||||
<span class="w-annc__status label {{status-class}}">{{status}}</span>
|
||||
</span>
|
||||
<span class="w-annc__postdate-wrap" date-format="%Y-%m-%d">
|
||||
<i class="fa-regular fa-calendar"></i>
|
||||
<span class="w-annc__postdate">{{postdate}}</span>
|
||||
</span>
|
||||
<span class="w-annc__category-wrap">
|
||||
<i class="fa-solid fa-list"></i>
|
||||
<span class="w-annc__category">{{category}}</span>
|
||||
</span>
|
||||
</div>
|
||||
<h4 class="w-annc__entry-title">
|
||||
<a class="w-annc__title" href="{{link_to_show}}">{{title}}</a>
|
||||
</h4>
|
||||
<p class="w-annc__subtitle">{{subtitle}}</p>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
|
@ -0,0 +1,169 @@
|
|||
<div class="w-annc w-annc widget-announcement-22" style="position:relative;">
|
||||
<div class="w-annc__more-wrap clearfix">
|
||||
<h3 class="w-annc__widget-title">
|
||||
<span>{{widget-title}}</span>
|
||||
</h3>
|
||||
<a class="w-annc__more btn btn-primary pull-right" href="{{more_url}}"><%= (I18n.locale.to_s =="zh_tw") ? "更多最新消息" : "More NEWS" %></a>
|
||||
</div>
|
||||
<div style="position: absolute;top: 50%;width:100%; z-index: 101;">
|
||||
<div style="">
|
||||
<button id="prev-{{subpart-id}}" class="btn-left" title = "<%= (I18n.locale.to_s =="zh_tw") ? "上一張" : "prev" %>" style="float: left;height: 2.5em; width: 2.5em;background: border: 0;background-size: contain;position: absolute;transition:.3s; left: 0.6%;color: #ffffff;
|
||||
background: rgba(0, 0, 0, 0.2);
|
||||
border-radius: 50%;
|
||||
border: none; z-index: 2;"><i class="fa fa-angle-left prev-button" aria-hidden="true" style="font-size: 1.5rem;"></i><span style="display: none;"><%= (I18n.locale.to_s =="zh_tw") ? "上一張" : "prev" %></span></button>
|
||||
<button id="next-{{subpart-id}}" class="btn-right" title = "<%= (I18n.locale.to_s =="zh_tw") ? "下一張" : "next" %>" style="float: right;;height: 2.5em; width: 2.5em;background-size: contain;border: 0;position: absolute;transition:.3s;right: 0.6%;color: #ffffff;
|
||||
background: rgba(0, 0, 0, 0.2);
|
||||
border-radius: 50%;
|
||||
border: none; z-index: 2;"><i class="fa fa-angle-right next-button" aria-hidden="true" style="font-size: 1.5rem;"></i><span style="display: none;"><%= (I18n.locale.to_s =="zh_tw") ? "下一張" : "next" %></span></button>
|
||||
</div>
|
||||
</div>
|
||||
<ul class="w-annc__list row" data-level="0" data-list="announcements">
|
||||
<li class="w-annc__item col-md-6">
|
||||
<div class="w-annc__content-wrap">
|
||||
<div class="w-annc__meta">
|
||||
<span class="w-annc__status-wrap" data-list="statuses" data-level="1">
|
||||
<span class="w-annc__status label {{status-class}}">{{status}}</span>
|
||||
</span>
|
||||
<span class="w-annc__postdate-wrap" date-format="%Y-%m-%d">
|
||||
<i class="fa-regular fa-calendar"></i>
|
||||
<span class="w-annc__postdate">{{postdate}}</span>
|
||||
</span>
|
||||
<span class="w-annc__category-wrap">
|
||||
<i class="fa-solid fa-list"></i>
|
||||
<span class="w-annc__category">{{category}}</span>
|
||||
</span>
|
||||
</div>
|
||||
<h4 class="w-annc__entry-title">
|
||||
<a class="w-annc__title" href="{{link_to_show}}">{{title}}</a>
|
||||
</h4>
|
||||
<p class="w-annc__subtitle">{{subtitle}}</p>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<script src="//code.jquery.com/ui/1.13.2/jquery-ui.js"></script>
|
||||
<script>
|
||||
function combineul_{{subpart-id}}(){
|
||||
var parents = $('[data-subpart-id=\"{{subpart-id}}\"] ul.w-annc__list').parent();
|
||||
parents.each(function(i,v){
|
||||
for(var i=1;i<$(v).find('ul.w-annc__list').length;i++)
|
||||
$(v).find('ul.w-annc__list').eq(0).find('>li').eq(-1).after($(v).find('ul.w-annc__list').eq(i).html());
|
||||
var ullength = $(v).find('ul.w-annc__list').length;
|
||||
for(var i = 1;i < ullength;i++)
|
||||
$(v).find('ul.w-annc__list').eq(-1).remove();
|
||||
})
|
||||
};
|
||||
var num;
|
||||
var lilength = $('[data-subpart-id=\"{{subpart-id}}\"] li.w-annc__item').length;
|
||||
function reorganize_{{subpart-id}}(num){
|
||||
var uls = $('[data-subpart-id=\"{{subpart-id}}\"] ul.w-annc__list').toArray();
|
||||
var currentul = uls.findIndex(function(v){
|
||||
return $(v).hasClass("active") && !$(v).hasClass("hidden_item");
|
||||
})
|
||||
if(currentul == -1)
|
||||
currentul = 0;
|
||||
var li_active_idx = 0;
|
||||
if(currentul != 0)
|
||||
li_active_idx = $(uls[currentul]).find("li.w-annc__item").eq(0).index("li.w-annc__item");
|
||||
combineul_{{subpart-id}}();
|
||||
var parents = $('[data-subpart-id=\"{{subpart-id}}\"] ul.w-annc__list').parent();
|
||||
parents.each(function(i,v){
|
||||
var lilength = $(v).find('li.w-annc__item').length;
|
||||
var ul_length = Math.ceil(lilength/num);
|
||||
for(var ii=1;ii< ul_length;ii++){
|
||||
var clone_ul = $(v).find('ul.w-annc__list').eq(-1).clone();
|
||||
clone_ul.empty();
|
||||
clone_ul.removeClass("active");
|
||||
clone_ul.css("display","");
|
||||
$(v).find('ul.w-annc__list').eq(-1).after(clone_ul.prop("outerHTML"));
|
||||
var lihtml="";
|
||||
if(ii != (ul_length-1)){
|
||||
for(var j=0;j<num;j++){
|
||||
lihtml += $(v).find('li.w-annc__item').eq(ii*num+j).prop("outerHTML");
|
||||
};
|
||||
}else{
|
||||
for(var j=0;j< lilength - num *(ul_length-1) ;j++){
|
||||
lihtml += $(v).find('li.w-annc__item').eq(ii*num+j).prop("outerHTML");
|
||||
};
|
||||
};
|
||||
$(v).find('ul.w-annc__list').eq(-1).html(lihtml);
|
||||
}
|
||||
if(ul_length != 1 )
|
||||
for(var i=0;i< lilength -num ; i++)
|
||||
$(v).find('ul.w-annc__list').eq(0).find("li.w-annc__item").eq(num).remove();
|
||||
})
|
||||
$('[data-subpart-id=\"{{subpart-id}}\"] ul.w-annc__list').css("display","none");
|
||||
$('[data-subpart-id=\"{{subpart-id}}\"] ul.w-annc__list').css('padding','0 1.125em');
|
||||
$('[data-subpart-id=\"{{subpart-id}}\"] button').css('z-index','10');
|
||||
$('[data-subpart-id=\"{{subpart-id}}\"] ul.w-annc__list >li').css('width','calc('+100/num+'% - '+20/16+'em)'); //20px=>li的margin
|
||||
$('[data-subpart-id=\"{{subpart-id}}\"] ul.w-annc__list >li').css('float','left');
|
||||
var active_ul = $("[data-subpart-id=\"{{subpart-id}}\"] li.w-annc__item").eq(li_active_idx).parents("ul.w-annc__list");
|
||||
active_ul.addClass("active");
|
||||
active_ul.removeClass("hidden_item");
|
||||
active_ul.css("display","");
|
||||
};
|
||||
$(window).resize(function(){
|
||||
if($(window).width()>1024){
|
||||
reorganize_{{subpart-id}}(8);
|
||||
num=8;
|
||||
}else if($(window).width()>576){
|
||||
reorganize_{{subpart-id}}(8);
|
||||
num=8;
|
||||
}else{
|
||||
reorganize_{{subpart-id}}(8);
|
||||
num=8;
|
||||
}
|
||||
})
|
||||
$(document).ready(function(){
|
||||
if($(window).width()>1024){
|
||||
reorganize_{{subpart-id}}(8);
|
||||
num=8;
|
||||
}else if($(window).width()>576){
|
||||
reorganize_{{subpart-id}}(8);
|
||||
num=8;
|
||||
}else{
|
||||
reorganize_{{subpart-id}}(8);
|
||||
num=8;
|
||||
}
|
||||
var flag=false;
|
||||
$('[data-subpart-id=\"{{subpart-id}}\"] .btn-left').click(function(){
|
||||
if(!flag){
|
||||
var uls = $('[data-subpart-id=\"{{subpart-id}}\"] ul.w-annc__list:not(.hidden_item)').toArray();
|
||||
var ul_length = uls.length;
|
||||
var currentul = uls.findIndex(function(v){
|
||||
return $(v).hasClass("active");
|
||||
})
|
||||
$('[data-subpart-id=\"{{subpart-id}}\"] ul.w-annc__list').css('display','none');
|
||||
if(currentul - 1 < 0)
|
||||
currentul += ul_length;
|
||||
$('[data-subpart-id=\"{{subpart-id}}\"] ul.w-annc__list:not(.hidden_item)').removeClass("active");
|
||||
var active_item = $(uls[currentul-1]);
|
||||
active_item.addClass("active");
|
||||
active_item.find("li").css("display","block");
|
||||
flag=true;
|
||||
$("body").css("overflow-x","hidden");
|
||||
$('[data-subpart-id=\"{{subpart-id}}\"] ul.w-annc__list.active').eq(0).effect("slide", { direction: "left", mode: 'show', duration: 500},function(){$("body").css("overflow-x","");flag=false;});
|
||||
};
|
||||
});
|
||||
$('[data-subpart-id=\"{{subpart-id}}\"] .btn-right').click(function(){
|
||||
var lilength = $('[data-subpart-id=\"{{subpart-id}}\"] li.w-annc__item').length;
|
||||
if(!flag){
|
||||
var uls = $('[data-subpart-id=\"{{subpart-id}}\"] ul.w-annc__list:not(.hidden_item)').toArray();
|
||||
var ul_length = uls.length;
|
||||
var currentul = uls.findIndex(function(v){
|
||||
return $(v).hasClass("active");
|
||||
})
|
||||
$('[data-subpart-id=\"{{subpart-id}}\"] ul.w-annc__list').css('display','none');
|
||||
if(currentul + 1 > ul_length - 1)
|
||||
currentul -= ul_length;
|
||||
$('[data-subpart-id=\"{{subpart-id}}\"] ul.w-annc__list:not(.hidden_item)').removeClass("active");
|
||||
var active_item = $(uls[currentul+1]);
|
||||
active_item.addClass("active");
|
||||
active_item.find("li").css("display","block");
|
||||
flag=true;
|
||||
$("body").css("overflow-x","hidden");
|
||||
$('[data-subpart-id=\"{{subpart-id}}\"] ul.w-annc__list.active').eq(0).effect("slide", { direction: "right", mode: 'show', duration: 500},function(){$("body").css("overflow-x","");flag=false;});
|
||||
};
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
|
@ -0,0 +1,33 @@
|
|||
<div class="w-annc widget-announcement-23">
|
||||
<h3 class="w-annc__widget-title">
|
||||
<span>{{widget-title}}</span>
|
||||
</h3>
|
||||
<ul class="w-annc__list" data-level="0" data-list="announcements">
|
||||
<li class="w-annc__item">
|
||||
|
||||
<div class="w-annc__img-wrap ">
|
||||
<a href="{{link_to_show}}" aria-label="前往{{widget-title}}" title="{{widget-title}}">
|
||||
<img class="w-annc__img" src="{{img_src}}" alt="{{img_description}}" title="{{img_description}}">
|
||||
</a>
|
||||
</div>
|
||||
<div class="w-annc__meta">
|
||||
<span class="w-annc__status-wrap" data-list="statuses" data-level="1">
|
||||
<span class="w-annc__status label status {{status-class}}">{{status}}</span>
|
||||
</span>
|
||||
<span class="w-annc__postdate-wrap" date-format="%Y-%m-%d">
|
||||
<span class="w-annc__postdate">{{postdate}}</span>
|
||||
</span>
|
||||
<span class="w-annc__category-wrap">
|
||||
<span class="w-annc__category">{{category}}</span>
|
||||
</span>
|
||||
</div>
|
||||
<h4 class="w-annc__entry-title">
|
||||
<a class="w-annc__title" href="{{link_to_show}}">{{title}}</a>
|
||||
</h4>
|
||||
<p class="w-annc__subtitle"><a href="{{link_to_show}}">{{subtitle}}</a></p>
|
||||
</li>
|
||||
</ul>
|
||||
<div class="w-annc__more-wrap clearfix">
|
||||
<a class="w-annc__more btn btn-primary pull-right" href="{{more_url}}"><%= (I18n.locale.to_s =="zh_tw") ? "更多最新消息" : "More NEWS" %></a>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -0,0 +1,111 @@
|
|||
<div class="w-annc widget-announcement-24">
|
||||
<div class="w-annc__more-wrap clearfix">
|
||||
<h3 class="w-annc__widget-title">
|
||||
<span>{{widget-title}}</span>
|
||||
</h3>
|
||||
<a class="w-annc__more btn btn-primary pull-right" href="{{more_url}}"><%= (I18n.locale.to_s =="zh_tw") ? "更多最新消息" : "More NEWS" %></a>
|
||||
</div>
|
||||
<ul class="w-annc__list row" data-level="0" data-list="announcements">
|
||||
<li class="w-annc__item col-md-4">
|
||||
<div class="w-annc__img-wrap bullseye" >
|
||||
<a href="{{link_to_show}}" aria-label="前往{{widget-title}}" title="{{widget-title}}">
|
||||
<img class="w-annc__img" src="{{img_src}}" alt="{{img_description}}" title="{{img_description}}">
|
||||
<div class="transitionfade"></div>
|
||||
</a>
|
||||
</div>
|
||||
<div class="w-annc__content-wrap card">
|
||||
<div class="w-annc__meta">
|
||||
<span class="w-annc__status-wrap" data-list="statuses" data-level="1">
|
||||
<span class="w-annc__status label {{status-class}}">{{status}}</span>
|
||||
</span>
|
||||
<span class="w-annc__postdate-wrap" date-format="%Y-%m-%d">
|
||||
<i class="fa fa-calendar-o"></i>
|
||||
<span class="w-annc__postdate">{{postdate}}</span>
|
||||
</span>
|
||||
<span class="w-annc__category-wrap">
|
||||
<i class="fa fa-tasks"></i>
|
||||
<span class="w-annc__category">{{category}}</span>
|
||||
</span>
|
||||
</div>
|
||||
<h4 class="w-annc__entry-title">
|
||||
<a class="w-annc__title" href="{{link_to_show}}">{{title}}</a>
|
||||
</h4>
|
||||
<p class="w-annc__subtitle">{{subtitle}}</p>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<style type="text/css">
|
||||
[data-subpart-id="{{subpart-id}}"] .bullseye{
|
||||
overflow: hidden;
|
||||
}
|
||||
</style>
|
||||
<script>
|
||||
function combineul_{{subpart-id}}(){
|
||||
var parents = $('[data-subpart-id=\"{{subpart-id}}\"] ul.w-annc__list').parent();
|
||||
parents.each(function(i,v){
|
||||
for(var i=1;i<$(v).find('ul.w-annc__list').length;i++)
|
||||
$(v).find('ul.w-annc__list').eq(0).find('>li').eq(-1).after($(v).find('ul.w-annc__list').eq(i).html());
|
||||
var ullength = $(v).find('ul.w-annc__list').length;
|
||||
for(var i = 1;i < ullength;i++)
|
||||
$(v).find('ul.w-annc__list').eq(-1).remove();
|
||||
})
|
||||
};
|
||||
var num;
|
||||
var lilength = $('[data-subpart-id=\"{{subpart-id}}\"] li.w-annc__item').length;
|
||||
function reorganize_{{subpart-id}}(num){
|
||||
combineul_{{subpart-id}}();
|
||||
var parents = $('[data-subpart-id=\"{{subpart-id}}\"] ul.w-annc__list').parent();
|
||||
parents.each(function(i,v){
|
||||
var lilength = $(v).find('li.w-annc__item').length;
|
||||
var ul_length = Math.ceil(lilength/num);
|
||||
for(var ii=1;ii< ul_length;ii++){
|
||||
var clone_ul = $(v).find('ul.w-annc__list').eq(-1).clone();
|
||||
clone_ul.empty();
|
||||
clone_ul.removeClass("active");
|
||||
clone_ul.css("display","");
|
||||
$(v).find('ul.w-annc__list').eq(-1).after(clone_ul.prop("outerHTML"));
|
||||
var lihtml="";
|
||||
if(ii != (ul_length-1)){
|
||||
for(var j=0;j<num;j++){
|
||||
lihtml += $(v).find('li.w-annc__item').eq(ii*num+j).prop("outerHTML");
|
||||
};
|
||||
}else{
|
||||
for(var j=0;j< lilength - num *(ul_length-1) ;j++){
|
||||
lihtml += $(v).find('li.w-annc__item').eq(ii*num+j).prop("outerHTML");
|
||||
};
|
||||
};
|
||||
$(v).find('ul.w-annc__list').eq(-1).html(lihtml);
|
||||
}
|
||||
if(ul_length != 1 )
|
||||
for(var i=0;i< lilength -num ; i++)
|
||||
$(v).find('ul.w-annc__list').eq(0).find("li.w-annc__item").eq(num).remove();
|
||||
})
|
||||
$('[data-subpart-id=\"{{subpart-id}}\"] ul.w-annc__list >li').css('width','calc('+100/num+'% - '+20/20+'em)'); //20px=>li的margin
|
||||
$('[data-subpart-id=\"{{subpart-id}}\"] ul.w-annc__list >li').css("float","left");
|
||||
};
|
||||
$(window).resize(function(){
|
||||
if($(window).width()>1024){
|
||||
reorganize_{{subpart-id}}(4);
|
||||
num=3;
|
||||
}else if($(window).width()>576){
|
||||
reorganize_{{subpart-id}}(4);
|
||||
num=2;
|
||||
}else{
|
||||
reorganize_{{subpart-id}}(4);
|
||||
num=1;
|
||||
}
|
||||
})
|
||||
$(document).ready(function(){
|
||||
if($(window).width()>1024){
|
||||
reorganize_{{subpart-id}}(4);
|
||||
num=3;
|
||||
}else if($(window).width()>576){
|
||||
reorganize_{{subpart-id}}(4);
|
||||
num=2;
|
||||
}else{
|
||||
reorganize_{{subpart-id}}(4);
|
||||
num=1;
|
||||
}
|
||||
})
|
||||
</script>
|
||||
|
|
@ -0,0 +1,57 @@
|
|||
<div class="w-annc widget-announcement-4 widget-announcement-25">
|
||||
<div class="w-annc__more-wrap clearfix">
|
||||
<h3 class="w-annc__widget-title">
|
||||
<span>{{widget-title}}</span>
|
||||
</h3>
|
||||
<a class="w-annc__more btn btn-primary pull-right" href="{{more_url}}"><%= (I18n.locale.to_s =="zh_tw") ? "更多最新消息" : "More NEWS" %></a>
|
||||
</div>
|
||||
<div class="prevnext" style="position: absolute;top: 62%;width:100%; z-index: 101;">
|
||||
<div style="">
|
||||
<button id="prev-{{subpart-id}}" class="btn-left" title = "<%= (I18n.locale.to_s =="zh_tw") ? "上一張" : "prev" %>" style="float: left;height: 2.5em; width: 2.5em;background: border: 0;background-size: contain;position: absolute;transition:.3s; left: 0.6%; color: #a8a6a6;
|
||||
background: #fff;
|
||||
border-radius: 50%;
|
||||
border: 1px solid #a8a6a6;
|
||||
z-index: 2;"><i class="fa fa-angle-left prev-button" aria-hidden="true" style=""></i><span style="display: none;"><%= (I18n.locale.to_s =="zh_tw") ? "上一張" : "prev" %></span></button>
|
||||
<button id="next-{{subpart-id}}" class="btn-right" title = "<%= (I18n.locale.to_s =="zh_tw") ? "下一張" : "next" %>" style="float: right;;height: 2.5em; width: 2.5em;background-size: contain;border: 0;position: absolute;transition:.3s;right: 0.6%; color: #a8a6a6;
|
||||
background: #fff;
|
||||
border-radius: 50%;
|
||||
border: 1px solid #a8a6a6;
|
||||
z-index: 2;"><i class="fa fa-angle-right next-button" aria-hidden="true" style=""></i><span style="display: none;"><%= (I18n.locale.to_s =="zh_tw") ? "下一張" : "next" %></span></button>
|
||||
</div>
|
||||
</div>
|
||||
<ul class="w-annc__list row cycle-slideshow" data-level="0" data-list="announcements" data-cycle-fx="carousel"
|
||||
data-cycle-timeout="0"
|
||||
data-cycle-carousel-visible="3"
|
||||
data-cycle-carousel-fluid="true"
|
||||
data-cycle-next="#next-{{subpart-id}}"
|
||||
data-cycle-prev="#prev-{{subpart-id}}"
|
||||
data-cycle-slides=".w-annc__item" >
|
||||
<li class="w-annc__item">
|
||||
<div class="w-annc__img-wrap bullseye" >
|
||||
<a href="{{link_to_show}}" aria-label="前往{{widget-title}}" title="{{widget-title}}">
|
||||
<img class="w-annc__img" src="{{img_src}}" alt="{{img_description}}" title="{{img_description}}">
|
||||
<div class="transitionfade"></div>
|
||||
</a>
|
||||
</div>
|
||||
<div class="w-annc__content-wrap card">
|
||||
<div class="w-annc__meta">
|
||||
<span class="w-annc__status-wrap" data-list="statuses" data-level="1">
|
||||
<span class="w-annc__status label {{status-class}}">{{status}}</span>
|
||||
</span>
|
||||
<span class="w-annc__postdate-wrap" date-format="%Y-%m-%d">
|
||||
<i class="fa-regular fa-calendar"></i>
|
||||
<span class="w-annc__postdate">{{postdate}}</span>
|
||||
</span>
|
||||
<span class="w-annc__category-wrap">
|
||||
<i class="fa-solid fa-list"></i>
|
||||
<span class="w-annc__category">{{category}}</span>
|
||||
</span>
|
||||
</div>
|
||||
<h4 class="w-annc__entry-title">
|
||||
<a class="w-annc__title" href="{{link_to_show}}">{{title}}</a>
|
||||
</h4>
|
||||
<p class="w-annc__subtitle">{{subtitle}}</p>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
|
@ -0,0 +1,37 @@
|
|||
<div class="w-annc widget-announcement-26">
|
||||
<h3 class="w-annc__widget-title">
|
||||
<span>{{widget-title}}</span>
|
||||
</h3>
|
||||
<ul class="w-annc__list" data-level="0" data-list="announcements">
|
||||
<li class="w-annc__item">
|
||||
|
||||
<div class="w-annc__img-wrap ">
|
||||
<a href="{{link_to_show}}" aria-label="前往{{widget-title}}" title="{{widget-title}}">
|
||||
<img class="w-annc__img" src="{{img_src}}" alt="{{img_description}}" title="{{img_description}}">
|
||||
</a>
|
||||
</div>
|
||||
<div class="w-annc__content-wrap card">
|
||||
<div class="w-annc__meta">
|
||||
<span class="w-annc__status-wrap" data-list="statuses" data-level="1">
|
||||
<span class="w-annc__status label {{status-class}}">{{status}}</span>
|
||||
</span>
|
||||
<span class="w-annc__postdate-wrap" date-format="%Y-%m-%d">
|
||||
<i class="fa-regular fa-calendar"></i>
|
||||
<span class="w-annc__postdate">{{postdate}}</span>
|
||||
</span>
|
||||
<span class="w-annc__category-wrap">
|
||||
<i class="fa-solid fa-list"></i>
|
||||
<span class="w-annc__category">{{category}}</span>
|
||||
</span>
|
||||
</div>
|
||||
<h4 class="w-annc__entry-title">
|
||||
<a class="w-annc__title" href="{{link_to_show}}">{{title}}</a>
|
||||
</h4>
|
||||
<p class="w-annc__subtitle">{{subtitle}}</p>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
<div class="w-annc__more-wrap clearfix">
|
||||
<a class="w-annc__more btn btn-primary pull-right" href="{{more_url}}"><%= (I18n.locale.to_s =="zh_tw") ? "更多最新消息" : "More NEWS" %></a>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -0,0 +1,171 @@
|
|||
<div class="w-annc widget-announcement-4 w-annc widget-announcement-15" style="position:relative;">
|
||||
<div class="w-annc__more-wrap clearfix">
|
||||
<h2 class="w-annc__widget-title">
|
||||
<span>{{widget-title}}</span>
|
||||
</h2>
|
||||
<a class="w-annc__more btn btn-primary pull-right" href="{{more_url}}"><%= (I18n.locale.to_s =="zh_tw") ? "更多最新消息" : "More NEWS" %></a>
|
||||
</div>
|
||||
<div style="position: absolute;top: 50%;bottom: 50%;width:100%;">
|
||||
<button class="btn-left" title = "<%= (I18n.locale.to_s =="zh_tw") ? "上一張" : "prev" %>" style="float: left;height: 2.5em; width: 2.5em;background: border: 0;background-size: contain;position: absolute;transition:.3s; left: 0.6%;color: #ffffff;
|
||||
background: rgba(0, 0, 0, 0.2);
|
||||
border-radius: 50%;
|
||||
border: none;"><i class="fa fa-angle-left prev-button" aria-hidden="true" style="font-size: 1.5rem;"></i><span style="display: none;"><%= (I18n.locale.to_s =="zh_tw") ? "上一張" : "prev" %></span></button>
|
||||
<button class="btn-right" title = "<%= (I18n.locale.to_s =="zh_tw") ? "下一張" : "next" %>" style="float: right;;height: 2.5em; width: 2.5em;background-size: contain;border: 0;position: absolute;transition:.3s;right: 0.6%;color: #ffffff;
|
||||
background: rgba(0, 0, 0, 0.2);
|
||||
border-radius: 50%;
|
||||
border: none;"><i class="fa fa-angle-right next-button" aria-hidden="true" style="font-size: 1.5rem;"></i><span style="display: none;"><%= (I18n.locale.to_s =="zh_tw") ? "下一張" : "next" %></span></button>
|
||||
</div>
|
||||
<ul class="w-annc__list row" data-level="0" data-list="announcements">
|
||||
<li class="w-annc__item col-md-4">
|
||||
<div class="w-annc__img-wrap bullseye">
|
||||
<img class="w-annc__img" src="{{img_src}}" alt="{{img_description}}" title="{{img_description}}">
|
||||
<div class="transitionfade"></div>
|
||||
</div>
|
||||
<div class="w-annc__content-wrap">
|
||||
<div class="w-annc__meta">
|
||||
<span class="w-annc__status-wrap" data-list="statuses" data-level="1">
|
||||
<span class="w-annc__status label {{status-class}}">{{status}}</span>
|
||||
</span>
|
||||
<span class="w-annc__postdate-wrap" date-format="%Y-%m-%d">
|
||||
<i class="fa fa-calendar-o"></i>
|
||||
<span class="w-annc__postdate">{{postdate}}</span>
|
||||
</span>
|
||||
<span class="w-annc__category-wrap">
|
||||
<i class="fa fa-tasks"></i>
|
||||
<span class="w-annc__category">{{category}}</span>
|
||||
</span>
|
||||
</div>
|
||||
<h4 class="w-annc__entry-title">
|
||||
<a class="w-annc__title" href="{{link_to_show}}">{{title}}</a>
|
||||
</h4>
|
||||
<p class="w-annc__subtitle">{{subtitle}}</p>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<script src="//code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
|
||||
<script>
|
||||
function combineul_{{subpart-id}}(){
|
||||
var parents = $('[data-subpart-id=\"{{subpart-id}}\"] ul.w-annc__list').parent();
|
||||
parents.each(function(i,v){
|
||||
for(var i=1;i<$(v).find('ul.w-annc__list').length;i++)
|
||||
$(v).find('ul.w-annc__list').eq(0).find('>li').eq(-1).after($(v).find('ul.w-annc__list').eq(i).html());
|
||||
var ullength = $(v).find('ul.w-annc__list').length;
|
||||
for(var i = 1;i < ullength;i++)
|
||||
$(v).find('ul.w-annc__list').eq(-1).remove();
|
||||
})
|
||||
};
|
||||
var num;
|
||||
var lilength = $('[data-subpart-id=\"{{subpart-id}}\"] li.w-annc__item').length;
|
||||
function reorganize_{{subpart-id}}(num){
|
||||
var uls = $('[data-subpart-id=\"{{subpart-id}}\"] ul.w-annc__list').toArray();
|
||||
var currentul = uls.findIndex(function(v){
|
||||
return $(v).hasClass("active") && !$(v).hasClass("hidden_item");
|
||||
})
|
||||
if(currentul == -1)
|
||||
currentul = 0;
|
||||
var li_active_idx = 0;
|
||||
if(currentul != 0)
|
||||
li_active_idx = $(uls[currentul]).find("li.w-annc__item").eq(0).index("li.w-annc__item");
|
||||
combineul_{{subpart-id}}();
|
||||
var parents = $('[data-subpart-id=\"{{subpart-id}}\"] ul.w-annc__list').parent();
|
||||
parents.each(function(i,v){
|
||||
var lilength = $(v).find('li.w-annc__item').length;
|
||||
var ul_length = Math.ceil(lilength/num);
|
||||
for(var ii=1;ii< ul_length;ii++){
|
||||
var clone_ul = $(v).find('ul.w-annc__list').eq(-1).clone();
|
||||
clone_ul.empty();
|
||||
clone_ul.removeClass("active");
|
||||
clone_ul.css("display","");
|
||||
$(v).find('ul.w-annc__list').eq(-1).after(clone_ul.prop("outerHTML"));
|
||||
var lihtml="";
|
||||
if(ii != (ul_length-1)){
|
||||
for(var j=0;j<num;j++){
|
||||
lihtml += $(v).find('li.w-annc__item').eq(ii*num+j).prop("outerHTML");
|
||||
};
|
||||
}else{
|
||||
for(var j=0;j< lilength - num *(ul_length-1) ;j++){
|
||||
lihtml += $(v).find('li.w-annc__item').eq(ii*num+j).prop("outerHTML");
|
||||
};
|
||||
};
|
||||
$(v).find('ul.w-annc__list').eq(-1).html(lihtml);
|
||||
}
|
||||
if(ul_length != 1 )
|
||||
for(var i=0;i< lilength -num ; i++)
|
||||
$(v).find('ul.w-annc__list').eq(0).find("li.w-annc__item").eq(num).remove();
|
||||
})
|
||||
$('[data-subpart-id=\"{{subpart-id}}\"] ul.w-annc__list').css("display","none");
|
||||
$('[data-subpart-id=\"{{subpart-id}}\"] ul.w-annc__list').css('padding','0 1.125em');
|
||||
$('[data-subpart-id=\"{{subpart-id}}\"] button').css('z-index','10');
|
||||
$('[data-subpart-id=\"{{subpart-id}}\"] ul.w-annc__list >li').css('width','calc('+100/num+'% - '+20/16+'em)'); //20px=>li的margin
|
||||
$('[data-subpart-id=\"{{subpart-id}}\"] ul.w-annc__list >li').css('float','left');
|
||||
var active_ul = $("[data-subpart-id=\"{{subpart-id}}\"] li.w-annc__item").eq(li_active_idx).parents("ul.w-annc__list");
|
||||
active_ul.addClass("active");
|
||||
active_ul.removeClass("hidden_item");
|
||||
active_ul.css("display","");
|
||||
};
|
||||
$(window).resize(function(){
|
||||
if($(window).width()>1024){
|
||||
reorganize_{{subpart-id}}(3);
|
||||
num=3;
|
||||
}else if($(window).width()>576){
|
||||
reorganize_{{subpart-id}}(2);
|
||||
num=2;
|
||||
}else{
|
||||
reorganize_{{subpart-id}}(1);
|
||||
num=1;
|
||||
}
|
||||
})
|
||||
$(document).ready(function(){
|
||||
if($(window).width()>1024){
|
||||
reorganize_{{subpart-id}}(3);
|
||||
num=3;
|
||||
}else if($(window).width()>576){
|
||||
reorganize_{{subpart-id}}(2);
|
||||
num=2;
|
||||
}else{
|
||||
reorganize_{{subpart-id}}(1);
|
||||
num=1;
|
||||
}
|
||||
var flag=false;
|
||||
$('[data-subpart-id=\"{{subpart-id}}\"] .btn-left').click(function(){
|
||||
if(!flag){
|
||||
var uls = $('[data-subpart-id=\"{{subpart-id}}\"] ul.w-annc__list:not(.hidden_item)').toArray();
|
||||
var ul_length = uls.length;
|
||||
var currentul = uls.findIndex(function(v){
|
||||
return $(v).hasClass("active");
|
||||
})
|
||||
$('[data-subpart-id=\"{{subpart-id}}\"] ul.w-annc__list').css('display','none');
|
||||
if(currentul - 1 < 0)
|
||||
currentul += ul_length;
|
||||
$('[data-subpart-id=\"{{subpart-id}}\"] ul.w-annc__list:not(.hidden_item)').removeClass("active");
|
||||
var active_item = $(uls[currentul-1]);
|
||||
active_item.addClass("active");
|
||||
active_item.find("li").css("display","block");
|
||||
flag=true;
|
||||
$("body").css("overflow-x","hidden");
|
||||
$('[data-subpart-id=\"{{subpart-id}}\"] ul.w-annc__list.active').eq(0).effect("slide", { direction: "left", mode: 'show', duration: 500},function(){$("body").css("overflow-x","");flag=false;});
|
||||
};
|
||||
});
|
||||
$('[data-subpart-id=\"{{subpart-id}}\"] .btn-right').click(function(){
|
||||
var lilength = $('[data-subpart-id=\"{{subpart-id}}\"] li.w-annc__item').length;
|
||||
if(!flag){
|
||||
var uls = $('[data-subpart-id=\"{{subpart-id}}\"] ul.w-annc__list:not(.hidden_item)').toArray();
|
||||
var ul_length = uls.length;
|
||||
var currentul = uls.findIndex(function(v){
|
||||
return $(v).hasClass("active");
|
||||
})
|
||||
$('[data-subpart-id=\"{{subpart-id}}\"] ul.w-annc__list').css('display','none');
|
||||
if(currentul + 1 > ul_length - 1)
|
||||
currentul -= ul_length;
|
||||
$('[data-subpart-id=\"{{subpart-id}}\"] ul.w-annc__list:not(.hidden_item)').removeClass("active");
|
||||
var active_item = $(uls[currentul+1]);
|
||||
active_item.addClass("active");
|
||||
active_item.find("li").css("display","block");
|
||||
flag=true;
|
||||
$("body").css("overflow-x","hidden");
|
||||
$('[data-subpart-id=\"{{subpart-id}}\"] ul.w-annc__list.active').eq(0).effect("slide", { direction: "right", mode: 'show', duration: 500},function(){$("body").css("overflow-x","");flag=false;});
|
||||
};
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
|
@ -0,0 +1,32 @@
|
|||
<div class="i-annc index-announcement-18">
|
||||
<style>
|
||||
@media (min-width: 992px){
|
||||
li.i-annc__item.col-md-4:nth-child(3n) {
|
||||
clear: left;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
<h3 class="i-annc__page-title">{{widget-title}}</h3>
|
||||
<ul class="i-annc__list row" data-level="0" data-list="announcements">
|
||||
<li class="i-annc__item col-md-4">
|
||||
<div class="i-annc__content-wrap">
|
||||
<div class="i-annc__meta">
|
||||
<span class="i-annc__postdate-wrap" date-format="%Y-%m-%d">
|
||||
<span class="i-annc__postdate">{{postdate}}</span>
|
||||
</span>
|
||||
<span class="i-annc__category-wrap">
|
||||
<i class="fa fa-clone"></i>
|
||||
<span class="i-annc__category">{{category}}</span>
|
||||
</span>
|
||||
<span class="i-annc__status-wrap" data-list="statuses" data-level="1">
|
||||
<span class="i-annc__status label status {{status-class}}">{{status}}</span>
|
||||
</span>
|
||||
</div>
|
||||
<h4 class="i-annc__entry-title">
|
||||
<a class="i-annc__title" href="{{link_to_show}}">{{title}}</a>
|
||||
</h4>
|
||||
<p class="i-annc__subtitle">{{subtitle}}</p>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
|
@ -0,0 +1,34 @@
|
|||
<div class="w-annc widget-announcement-3">
|
||||
<h3 class="w-annc__widget-title">
|
||||
<span>{{widget-title}}</span>
|
||||
</h3>
|
||||
<ul class="w-annc__list" data-level="0" data-list="announcements">
|
||||
<li class="w-annc__item row">
|
||||
<div class="w-annc__content-wrap col-sm-8">
|
||||
<div class="w-annc__meta">
|
||||
<span class="w-annc__status-wrap" data-list="statuses" data-level="1">
|
||||
<span class="w-annc__status label status {{status-class}}">{{status}}</span>
|
||||
</span>
|
||||
<span class="w-annc__postdate-wrap" date-format="%Y-%m-%d">
|
||||
|
||||
<span class="w-annc__postdate">{{postdate}}</span>
|
||||
</span>
|
||||
<span class="w-annc__category-wrap">
|
||||
|
||||
<span class="w-annc__category">{{category}}</span>
|
||||
</span>
|
||||
</div>
|
||||
<h4 class="w-annc__entry-title">
|
||||
<a class="w-annc__title" href="{{link_to_show}}">{{title}}</a>
|
||||
</h4>
|
||||
<p class="w-annc__subtitle">{{subtitle}}</p>
|
||||
</div>
|
||||
<div class="w-annc__img-wrap col-sm-4 bullseye">
|
||||
<img class="w-annc__img" src="{{img_src}}" alt="{{img_description}}" title="{{img_description}}">
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
<div class="w-annc__more-wrap clearfix">
|
||||
<a class="w-annc__more btn btn-primary pull-right" href="{{more_url}}"><%= (I18n.locale.to_s =="zh_tw") ? "更多最新消息" : "More NEWS" %></a>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -0,0 +1,111 @@
|
|||
<div class="w-annc widget-announcement-4">
|
||||
<div class="w-annc__more-wrap clearfix">
|
||||
<h3 class="w-annc__widget-title">
|
||||
<span>{{widget-title}}</span>
|
||||
</h3>
|
||||
<a class="w-annc__more btn btn-primary pull-right" href="{{more_url}}"><%= (I18n.locale.to_s =="zh_tw") ? "更多最新消息" : "More NEWS" %></a>
|
||||
</div>
|
||||
<ul class="w-annc__list row" data-level="0" data-list="announcements">
|
||||
<li class="w-annc__item col-md-4">
|
||||
<div class="w-annc__img-wrap bullseye" style="position:relative">
|
||||
<a href="{{link_to_show}}" aria-label="前往{{widget-title}}" title="{{widget-title}}">
|
||||
<img class="w-annc__img" src="{{img_src}}" alt="{{img_description}}" title="{{img_description}}">
|
||||
<div class="transitionfade"></div>
|
||||
</a>
|
||||
</div>
|
||||
<div class="w-annc__content-wrap">
|
||||
<div class="w-annc__meta">
|
||||
<span class="w-annc__status-wrap" data-list="statuses" data-level="1">
|
||||
<span class="w-annc__status label {{status-class}}">{{status}}</span>
|
||||
</span>
|
||||
<span class="w-annc__postdate-wrap" date-format="%Y-%m-%d">
|
||||
<i class="fa-regular fa-calendar"></i>
|
||||
<span class="w-annc__postdate">{{postdate}}</span>
|
||||
</span>
|
||||
<span class="w-annc__category-wrap">
|
||||
<i class="fa-solid fa-list"></i>
|
||||
<span class="w-annc__category">{{category}}</span>
|
||||
</span>
|
||||
</div>
|
||||
<h4 class="w-annc__entry-title">
|
||||
<a class="w-annc__title" href="{{link_to_show}}">{{title}}</a>
|
||||
</h4>
|
||||
<p class="w-annc__subtitle"><a href="{{link_to_show}}">{{subtitle}}</a></p>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<style type="text/css">
|
||||
[data-subpart-id="{{subpart-id}}"] .bullseye{
|
||||
overflow: hidden;
|
||||
}
|
||||
</style>
|
||||
<script>
|
||||
function combineul_{{subpart-id}}(){
|
||||
var parents = $('[data-subpart-id=\"{{subpart-id}}\"] ul.w-annc__list').parent();
|
||||
parents.each(function(i,v){
|
||||
for(var i=1;i<$(v).find('ul.w-annc__list').length;i++)
|
||||
$(v).find('ul.w-annc__list').eq(0).find('>li').eq(-1).after($(v).find('ul.w-annc__list').eq(i).html());
|
||||
var ullength = $(v).find('ul.w-annc__list').length;
|
||||
for(var i = 1;i < ullength;i++)
|
||||
$(v).find('ul.w-annc__list').eq(-1).remove();
|
||||
})
|
||||
};
|
||||
var num;
|
||||
var lilength = $('[data-subpart-id=\"{{subpart-id}}\"] li.w-annc__item').length;
|
||||
function reorganize_{{subpart-id}}(num){
|
||||
combineul_{{subpart-id}}();
|
||||
var parents = $('[data-subpart-id=\"{{subpart-id}}\"] ul.w-annc__list').parent();
|
||||
parents.each(function(i,v){
|
||||
var lilength = $(v).find('li.w-annc__item').length;
|
||||
var ul_length = Math.ceil(lilength/num);
|
||||
for(var ii=1;ii< ul_length;ii++){
|
||||
var clone_ul = $(v).find('ul.w-annc__list').eq(-1).clone();
|
||||
clone_ul.empty();
|
||||
clone_ul.removeClass("active");
|
||||
clone_ul.css("display","");
|
||||
$(v).find('ul.w-annc__list').eq(-1).after(clone_ul.prop("outerHTML"));
|
||||
var lihtml="";
|
||||
if(ii != (ul_length-1)){
|
||||
for(var j=0;j<num;j++){
|
||||
lihtml += $(v).find('li.w-annc__item').eq(ii*num+j).prop("outerHTML");
|
||||
};
|
||||
}else{
|
||||
for(var j=0;j< lilength - num *(ul_length-1) ;j++){
|
||||
lihtml += $(v).find('li.w-annc__item').eq(ii*num+j).prop("outerHTML");
|
||||
};
|
||||
};
|
||||
$(v).find('ul.w-annc__list').eq(-1).html(lihtml);
|
||||
}
|
||||
if(ul_length != 1 )
|
||||
for(var i=0;i< lilength -num ; i++)
|
||||
$(v).find('ul.w-annc__list').eq(0).find("li.w-annc__item").eq(num).remove();
|
||||
})
|
||||
$('[data-subpart-id=\"{{subpart-id}}\"] ul.w-annc__list >li').css('width','calc('+100/num+'% - '+20/20+'em)'); //20px=>li的margin
|
||||
$('[data-subpart-id=\"{{subpart-id}}\"] ul.w-annc__list >li').css("float","left");
|
||||
};
|
||||
$(window).resize(function(){
|
||||
if($(window).width()>1024){
|
||||
reorganize_{{subpart-id}}(3);
|
||||
num=3;
|
||||
}else if($(window).width()>576){
|
||||
reorganize_{{subpart-id}}(2);
|
||||
num=2;
|
||||
}else{
|
||||
reorganize_{{subpart-id}}(1);
|
||||
num=1;
|
||||
}
|
||||
})
|
||||
$(document).ready(function(){
|
||||
if($(window).width()>1024){
|
||||
reorganize_{{subpart-id}}(3);
|
||||
num=3;
|
||||
}else if($(window).width()>576){
|
||||
reorganize_{{subpart-id}}(2);
|
||||
num=2;
|
||||
}else{
|
||||
reorganize_{{subpart-id}}(1);
|
||||
num=1;
|
||||
}
|
||||
})
|
||||
</script>
|
||||
|
|
@ -0,0 +1,31 @@
|
|||
<div class="w-annc widget-announcement-5">
|
||||
<h3 class="w-annc__widget-title">
|
||||
<span>{{widget-title}}</span>
|
||||
</h3>
|
||||
<ul class="w-annc__list row" data-level="0" data-list="announcements">
|
||||
<li class="w-annc__item">
|
||||
<div class="w-annc__content-wrap">
|
||||
<div class="w-annc__meta">
|
||||
<span class="w-annc__postdate-wrap" date-format="%Y-%m-%d">
|
||||
<i class="fa-regular fa-calendar"></i>
|
||||
<span class="w-annc__postdate">{{postdate}}</span>
|
||||
</span>
|
||||
<span class="w-annc__category-wrap">
|
||||
<i class="fa-solid fa-list"></i>
|
||||
<span class="w-annc__category">{{category}}</span>
|
||||
</span>
|
||||
<span class="w-annc__status-wrap" data-list="statuses" data-level="1">
|
||||
<span class="w-annc__status label status {{status-class}}">{{status}}</span>
|
||||
</span>
|
||||
</div>
|
||||
<h4 class="w-annc__entry-title">
|
||||
<a class="w-annc__title" href="{{link_to_show}}">{{title}}</a>
|
||||
</h4>
|
||||
<p class="w-annc__subtitle">{{subtitle}}</p>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
<div class="w-annc__more-wrap clearfix">
|
||||
<a class="w-annc__more btn btn-primary pull-right" href="{{more_url}}"><%= (I18n.locale.to_s =="zh_tw") ? "更多最新消息" : "More NEWS" %></a>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -0,0 +1,26 @@
|
|||
<div class="w-annc widget-announcement-6">
|
||||
<h3 class="w-annc__widget-title">
|
||||
<span>{{widget-title}}</span>
|
||||
</h3>
|
||||
<ul class="w-annc__list" data-level="0" data-list="announcements">
|
||||
<li class="w-annc__item row">
|
||||
<span class="w-annc__category-wrap col-sm-2">
|
||||
|
||||
<span class="w-annc__category">{{category}}</span>
|
||||
</span>
|
||||
<h4 class="w-annc__entry-title col-sm-8">
|
||||
<span class="w-annc__status-wrap" data-list="statuses" data-level="1">
|
||||
<span class="w-annc__status label status {{status-class}}">{{status}}</span>
|
||||
</span>
|
||||
<a class="w-annc__title" href="{{link_to_show}}">{{title}}</a>
|
||||
</h4>
|
||||
<span class="w-annc__postdate-wrap col-sm-2" date-format="%Y-%m-%d">
|
||||
|
||||
<span class="w-annc__postdate">{{postdate}}</span>
|
||||
</span>
|
||||
</li>
|
||||
</ul>
|
||||
<div class="w-annc__more-wrap clearfix">
|
||||
<a class="w-annc__more btn btn-primary pull-right" href="{{more_url}}"><%= (I18n.locale.to_s =="zh_tw") ? "更多最新消息" : "More NEWS" %></a>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -0,0 +1,26 @@
|
|||
<div class="w-annc widget-announcement-7">
|
||||
<h3 class="w-annc__widget-title">
|
||||
<span>{{widget-title}}</span>
|
||||
</h3>
|
||||
<ul class="w-annc__list" data-level="0" data-list="announcements">
|
||||
<li class="w-annc__item row">
|
||||
<span class="w-annc__postdate-wrap col-sm-2" date-format="%Y-%m-%d">
|
||||
|
||||
<span class="w-annc__postdate">{{postdate}}</span>
|
||||
</span>
|
||||
<h4 class="w-annc__entry-title col-sm-8">
|
||||
<span class="w-annc__status-wrap" data-list="statuses" data-level="1">
|
||||
<span class="w-annc__status label status {{status-class}}">{{status}}</span>
|
||||
</span>
|
||||
<a class="w-annc__title" href="{{link_to_show}}">{{title}}</a>
|
||||
</h4>
|
||||
<span class="w-annc__category-wrap col-sm-2">
|
||||
|
||||
<span class="w-annc__category">{{category}}</span>
|
||||
</span>
|
||||
</li>
|
||||
</ul>
|
||||
<div class="w-annc__more-wrap clearfix">
|
||||
<a class="w-annc__more btn btn-primary pull-right" href="{{more_url}}"><%= (I18n.locale.to_s =="zh_tw") ? "更多最新消息" : "More NEWS" %></a>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -0,0 +1,29 @@
|
|||
<div class="w-annc widget-announcement-8">
|
||||
<h3 class="w-annc__widget-title">
|
||||
<span>{{widget-title}}</span>
|
||||
</h3>
|
||||
<table class="w-annc__table table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="w-annc__th w-annc__th--category">{{category-head}}</th>
|
||||
<th class="w-annc__th w-annc__th--title">{{title-head}}</th>
|
||||
<th class="w-annc__th w-annc__th--date">{{date-head}}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody data-level="0" data-list="announcements">
|
||||
<tr>
|
||||
<td class="w-annc__category">{{category}}</td>
|
||||
<td class="w-annc_content">
|
||||
<span class="w-annc__status-wrap" data-list="statuses" data-level="1">
|
||||
<span class="w-annc__status label status {{status-class}}">{{status}}</span>
|
||||
</span>
|
||||
<a class="w-annc__title" href="{{link_to_show}}">{{title}}</a>
|
||||
</td>
|
||||
<td class="w-annc__postdate" date-format="%Y-%m-%d">{{postdate}}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<div class="w-annc__more-wrap clearfix">
|
||||
<a class="w-annc__more btn btn-primary pull-right" href="{{more_url}}"><%= (I18n.locale.to_s =="zh_tw") ? "更多最新消息" : "More NEWS" %></a>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -0,0 +1,29 @@
|
|||
<div class="w-annc widget-announcement-9">
|
||||
<h3 class="w-annc__widget-title">
|
||||
<span>{{widget-title}}</span>
|
||||
</h3>
|
||||
<table class="w-annc__table table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="w-annc__th w-annc__th--date">{{date-head}}</th>
|
||||
<th class="w-annc__th w-annc__th--title">{{title-head}}</th>
|
||||
<th class="w-annc__th w-annc__th--category">{{category-head}}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody data-level="0" data-list="announcements">
|
||||
<tr>
|
||||
<td class="w-annc__postdate" date-format="%Y-%m-%d">{{postdate}}</td>
|
||||
<td class="w-annc_content">
|
||||
<span class="w-annc__status-wrap" data-list="statuses" data-level="1">
|
||||
<span class="w-annc__status label status {{status-class}}">{{status}}</span>
|
||||
</span>
|
||||
<a class="w-annc__title" href="{{link_to_show}}">{{title}}</a>
|
||||
</td>
|
||||
<td class="w-annc__category">{{category}}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<div class="w-annc__more-wrap clearfix">
|
||||
<a class="w-annc__more btn btn-primary pull-right" href="{{more_url}}"><%= (I18n.locale.to_s =="zh_tw") ? "更多最新消息" : "More NEWS" %></a>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -0,0 +1,41 @@
|
|||
<div class="i-annc index-announcement-1">
|
||||
<h3 class="i-annc__page-title"><span>{{page-title}}</span></h3>
|
||||
<ul class="i-annc__list" data-level="0" data-list="announcements">
|
||||
<li class="i-annc__item row">
|
||||
<span class="i-annc__category-wrap col-sm-2">
|
||||
<span class="i-annc__category">{{category}}</span>
|
||||
</span>
|
||||
<h4 class="i-annc__entry-title col-sm-8">
|
||||
<span class="i-annc__status-wrap" data-list="statuses" data-level="1">
|
||||
<span class="i-annc__status label status {{status-class}}">{{status}}</span>
|
||||
</span>
|
||||
<a class="i-annc__title" href="{{link_to_show}}">{{title}}</a>
|
||||
</h4>
|
||||
<span class="i-annc__postdate-wrap col-sm-2" date-format="%Y-%m/%d">
|
||||
<span class="i-annc__postdate">{{postdate}}</span>
|
||||
</span>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
{{pagination_goes_here}}
|
||||
|
||||
<script>
|
||||
function postdate() {
|
||||
var len = $('.i-annc__postdate').length;
|
||||
var date = $('.i-annc__postdate');
|
||||
|
||||
for (let i=0; i<len; i++) {
|
||||
newDate = date[i].innerText.slice(5,10)
|
||||
newYear = date[i].innerText.slice(0,5)
|
||||
date[i].innerHTML= '';
|
||||
date[i].append(newYear)
|
||||
|
||||
var date2 = document.createElement('span');
|
||||
date2.className = 'new-date';
|
||||
date2.textContent = newDate;
|
||||
date[i].appendChild(date2);
|
||||
}
|
||||
}
|
||||
|
||||
postdate();
|
||||
</script>
|
||||
|
|
@ -0,0 +1,184 @@
|
|||
<div class="i-annc index-eventnews-10">
|
||||
|
||||
|
||||
<h3 class="i-annc__page-title"><span>{{page-title}}</span></h3>
|
||||
|
||||
<div class="VivaTimeline">
|
||||
<dl>
|
||||
|
||||
<!--月份 1-->
|
||||
<dt>{{date-head}}</dt>
|
||||
|
||||
<!--左側文章 start-->
|
||||
<div class="data" data-level="0" data-list="announcements">
|
||||
<dd class=" evenodd clearfix ">
|
||||
<div class="circ"></div>
|
||||
<div class="time" date-format="%Y-%m">{{postdate}}</div>
|
||||
<!--填入日期-->
|
||||
<div class="events">
|
||||
<div class="events-header">{{title}}</div>
|
||||
<!--填入標題-->
|
||||
<div class="events-body">
|
||||
<div class="row">
|
||||
<div class="col-md-6 pull-left">
|
||||
<img class="events-object img-responsive img-rounded" src="{{img_src}}"/><!--填入圖片網址--></div>
|
||||
<div class="events-desc">{{subtitle}}</div>
|
||||
<!--填入描述-->
|
||||
</div>
|
||||
</div>
|
||||
<div class="events-footer">
|
||||
<a class="i-annc__title" href="{{link_to_show}}">more </a>
|
||||
</div>
|
||||
<!--可填底部標題 或刪除-->
|
||||
</div>
|
||||
</dd>
|
||||
</div>
|
||||
|
||||
</dl>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
{{pagination_goes_here}}
|
||||
|
||||
|
||||
|
||||
|
||||
<script type="text/javascript">
|
||||
jQuery(function(){
|
||||
jQuery('.data > dd:odd').addClass(' pos-left');
|
||||
jQuery('.data > dd:even').addClass('pos-right');
|
||||
});
|
||||
</script>
|
||||
<script type="text/javascript">
|
||||
;
|
||||
(function ($, window, document, undefined) {
|
||||
//'use strict';
|
||||
var pluginName = 'vivaTimeline'; //Plugin名稱
|
||||
|
||||
//Timeline建構式
|
||||
var Timeline = function (element, opt) {
|
||||
//私有變數
|
||||
this.target = element;
|
||||
this.carouselInterval;
|
||||
this.checkImgLoad;
|
||||
this.imgLoad = false;
|
||||
//初始化
|
||||
this._init(opt);
|
||||
|
||||
this._event();
|
||||
|
||||
}
|
||||
|
||||
//ImportKML2D預設參數
|
||||
Timeline.options = {
|
||||
carousel: true,
|
||||
carouselTime: 10000
|
||||
}
|
||||
|
||||
//Timeline私有方法
|
||||
Timeline.prototype = {
|
||||
//初始化
|
||||
_init: function (_opt) {
|
||||
//合併自訂參數與預設參數
|
||||
var self = this;
|
||||
self.options = $.extend(true, {}, Timeline.options, _opt);
|
||||
|
||||
self.target.find('.events-body').each(function () {
|
||||
var rowcount = $(this).find('.row').length;
|
||||
if (rowcount > 1) {
|
||||
var html = "<ol>";
|
||||
for (var i = 0; i < rowcount; i++) {
|
||||
html += "<li data-target='" + i + "'></li>";
|
||||
}
|
||||
html += "</ol>";
|
||||
$(this).siblings('.events-footer').html(html).find('li').first().addClass('active');
|
||||
}
|
||||
});
|
||||
|
||||
self.target.find('.events-body').each(function () {
|
||||
$(this).find('.row').first().show().siblings().hide();
|
||||
});
|
||||
|
||||
self.target.find('img').on('load', function () {
|
||||
self.target.find('.events-body').each(function () {
|
||||
var maxHeight = 0;
|
||||
$(this).find('.row').each(function () {
|
||||
if ($(this).height() > maxHeight) {
|
||||
maxHeight = $(this).height();
|
||||
}
|
||||
});
|
||||
$(this).find('.row').height(maxHeight);
|
||||
});
|
||||
});
|
||||
},
|
||||
|
||||
//綁定事件
|
||||
_event: function () {
|
||||
var self = this;
|
||||
self.target.find('.events-header').click(function () {
|
||||
$(this).siblings('.events-body').slideToggle().end().siblings('.events-footer').toggle();
|
||||
});
|
||||
|
||||
self.target.find('.events-footer li').click(function () {
|
||||
self._carousel($(this));
|
||||
});
|
||||
|
||||
if (self.options.carousel) {
|
||||
self.carouselInterval = setInterval(function () {
|
||||
self._carousel();
|
||||
}, self.options.carouselTime);
|
||||
|
||||
self.target.find('.events').hover(function () {
|
||||
clearInterval(self.carouselInterval);
|
||||
self.carouselInterval = null;
|
||||
|
||||
}, function () {
|
||||
if (self.carouselInterval == undefined) {
|
||||
self.carouselInterval = setInterval(function () {
|
||||
self._carousel();
|
||||
}, self.options.carouselTime);
|
||||
}
|
||||
});
|
||||
}
|
||||
},
|
||||
|
||||
//自動輪播
|
||||
_carousel: function (_container) {
|
||||
var self = this;
|
||||
if (_container == undefined) {
|
||||
self.target.find('.events-footer .active').each(function () {
|
||||
var nextTarget;
|
||||
if ($(this).is(':last-child')) {
|
||||
nextTarget = $(this).siblings().first();
|
||||
} else {
|
||||
nextTarget = $(this).next();
|
||||
}
|
||||
self._carousel(nextTarget);
|
||||
});
|
||||
} else {
|
||||
var target = _container.data().target;
|
||||
|
||||
_container.addClass('active').siblings().removeClass('active');
|
||||
|
||||
_container.closest('.events-footer').siblings('.events-body').find('.row').eq(target).show().siblings().hide();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//公開方法
|
||||
$.fn[pluginName] = function (options, args) {
|
||||
var timeline;
|
||||
this.each(function () {
|
||||
timeline = new Timeline($(this), options);
|
||||
});
|
||||
return this;
|
||||
}
|
||||
})(jQuery, window, document);
|
||||
</script>
|
||||
<script type="text/javascript">
|
||||
jQuery(document).ready(function () {
|
||||
jQuery('.VivaTimeline').vivaTimeline({carousel: true, carouselTime: 3000});
|
||||
});
|
||||
</script>
|
||||
<script type="text/javascript">
|
||||
|
|
@ -0,0 +1,39 @@
|
|||
<div class="i-annc index-announcement-11 {{display}}">
|
||||
<h3 class="i-annc__page-title"><span>{{page-title}}</span></h3>
|
||||
<table class="i-annc__table table table-striped dt-responsive">
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="i-annc__th i-annc__th--date all" id='date'>{{date-head}}</th>
|
||||
<th class="i-annc__th i-annc__th--title all" id='title'>{{title-head}}</th>
|
||||
<th class="i-annc__th i-annc__th--category min-tablet" id='category'>{{category-head}}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody data-level="0" data-list="announcements">
|
||||
<tr>
|
||||
<td class="i-annc__postdate" headers='date'><span class="i-annc__postdate-content" date-format="%Y-%m-%d">{{postdate}}</span></td>
|
||||
<td class="i-annc__content" headers='title'>
|
||||
<span class="i-annc__status-wrap" data-list="statuses" data-level="1">
|
||||
<span class="i-annc__status label status {{status-class}}">{{status}}</span>
|
||||
</span>
|
||||
<a class="i-annc__title" href="{{link_to_show}}">{{title}}</a>
|
||||
</td>
|
||||
<td class="i-annc__category" headers='category'>{{category}}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
{{pagination_goes_here}}
|
||||
|
||||
<script>
|
||||
$('.i-annc__table').each(function(){
|
||||
if($(this).find('thead').length!=0 && $(this).find('td').length!=0 && !$(this).hasClass('dataTable')){
|
||||
$(this).DataTable({
|
||||
searching: false,
|
||||
paging: false,
|
||||
ordering: false,
|
||||
info: false,
|
||||
autoWidth: false
|
||||
});
|
||||
}
|
||||
});;
|
||||
</script>
|
||||
|
|
@ -0,0 +1,41 @@
|
|||
<div class="i-annc index-announcement-12 {{display}}">
|
||||
<h3 class="i-annc__page-title"><span>{{page-title}}</span></h3>
|
||||
<table class="i-annc__table table table-striped dt-responsive">
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="i-annc__th i-annc__th--date all" id='date'>{{date-head}}</th>
|
||||
<th class="i-annc__th i-annc__th--title all" id='title'>{{title-head}}</th>
|
||||
<th class="i-annc__th i-annc__th--category min-tablet" id='category'>{{category-head}}</th>
|
||||
<th class="i-annc__th i-annc__th--view min-tablet" id='view-count'>{{view-count-head}}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody data-level="0" data-list="announcements">
|
||||
<tr>
|
||||
<td class="i-annc__postdate" headers='date'><span class="i-annc__postdate-content" date-format="%Y-%m-%d">{{postdate}}</span></td>
|
||||
<td class="i-annc__content" headers='title'>
|
||||
<span class="i-annc__status-wrap" data-list="statuses" data-level="1">
|
||||
<span class="i-annc__status label status {{status-class}}">{{status}}</span>
|
||||
</span>
|
||||
<a class="i-annc__title" href="{{link_to_show}}">{{title}}</a>
|
||||
</td>
|
||||
<td class="i-annc__category" headers='category'>{{category}}</td>
|
||||
<td class="i-annc__view-count" headers='view-count'>{{view_count}}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
{{pagination_goes_here}}
|
||||
|
||||
<script>
|
||||
$('.i-annc__table').each(function(){
|
||||
if($(this).find('thead').length!=0 && $(this).find('td').length!=0 && !$(this).hasClass('dataTable')){
|
||||
$(this).DataTable({
|
||||
searching: false,
|
||||
paging: false,
|
||||
ordering: false,
|
||||
info: false,
|
||||
autoWidth: false
|
||||
});
|
||||
}
|
||||
});;
|
||||
</script>
|
||||
|
|
@ -0,0 +1,23 @@
|
|||
<div class="i-annc index-eventnews-13 {{display}}">
|
||||
<h3 class="i-annc__page-title"><span>{{page-title}}</span></h3>
|
||||
<table class="i-annc__table table table-striped">
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="i-annc__th i-annc__th--title" id='title'>{{title-head}}</th>
|
||||
<th class="i-annc__th i-annc__th--date" ='date'>{{date-head}}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody data-level="0" data-list="announcements">
|
||||
<tr>
|
||||
<td class="i-annc__content" headers='title'>
|
||||
<span class="i-annc__status-wrap" data-list="statuses" data-level="1">
|
||||
<span class="i-annc__status label status {{status-class}}">{{status}}</span>
|
||||
</span>
|
||||
<a class="i-annc__title" href="{{link_to_show}}">{{title}}</a>
|
||||
</td>
|
||||
<td class="i-annc__postdate" date-format="%Y-%m-%d" headers='date'>{{postdate}}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
{{pagination_goes_here}}
|
||||
|
|
@ -0,0 +1,23 @@
|
|||
<div class="i-annc index-announcement-14 {{display}}">
|
||||
<h3 class="i-annc__page-title"><span>{{page-title}}</span></h3>
|
||||
<table class="i-annc__table table table-striped">
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="i-annc__th i-annc__th--date" id='date'>{{date-head}}</th>
|
||||
<th class="i-annc__th i-annc__th--title" id='title'>{{title-head}}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody data-level="0" data-list="announcements">
|
||||
<tr>
|
||||
<td class="i-annc__postdate" date-format="%Y-%m-%d" headers='date'>{{postdate}}</td>
|
||||
<td class="i-annc__content" headers='title'>
|
||||
<span class="i-annc__status-wrap" data-list="statuses" data-level="1">
|
||||
<span class="i-annc__status label status {{status-class}}">{{status}}</span>
|
||||
</span>
|
||||
<a class="i-annc__title" href="{{link_to_show}}">{{title}}</a>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
{{pagination_goes_here}}
|
||||
|
|
@ -0,0 +1,39 @@
|
|||
<div class="i-annc index-announcement-15 {{display}}">
|
||||
<h3 class="i-annc__page-title"><span>{{page-title}}</span></h3>
|
||||
<table class="i-annc__table table table-striped dt-responsive">
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="i-annc__th i-annc__th--date all" id='date'>{{date-head}}</th>
|
||||
<th class="i-annc__th i-annc__th--title all" id='title'>{{title-head}}</th>
|
||||
<th class="i-annc__th i-annc__th--category min-tablet" id='view'>{{view-count-head}}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody data-level="0" data-list="announcements">
|
||||
<tr>
|
||||
<td class="i-annc__postdate" date-format="%Y-%m-%d" headers='date'>{{postdate}}</td>
|
||||
<td class="i-annc__content" headers='title'>
|
||||
<span class="i-annc__status-wrap" data-list="statuses" data-level="1">
|
||||
<span class="i-annc__status label status {{status-class}}">{{status}}</span>
|
||||
</span>
|
||||
<a class="i-annc__title" href="{{link_to_show}}">{{title}}</a>
|
||||
</td>
|
||||
<td class="i-annc__view-count" headers='view'>{{view_count}}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
{{pagination_goes_here}}
|
||||
|
||||
<script>
|
||||
$('.i-annc__table').each(function(){
|
||||
if($(this).find('thead').length!=0 && $(this).find('td').length!=0 && !$(this).hasClass('dataTable')){
|
||||
$(this).DataTable({
|
||||
searching: false,
|
||||
paging: false,
|
||||
ordering: false,
|
||||
info: false,
|
||||
autoWidth: false
|
||||
});
|
||||
}
|
||||
});;
|
||||
</script>
|
||||
|
|
@ -0,0 +1,53 @@
|
|||
<div class="i-annc index-announcement-16 {{display}}">
|
||||
<h3 class="i-annc__page-title"><span>{{page-title}}</span></h3>
|
||||
<table class="i-annc__table table table-striped dt-responsive">
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="i-annc__th i-annc__th--date all" id='date'>{{date-head}}</th>
|
||||
<th class="i-annc__th i-annc__th--title all" id='title'>{{title-head}}</th>
|
||||
<th class="i-annc__th i-annc__th--links min-tablet" id='links'>{{link-head}}</th>
|
||||
<th class="i-annc__th i-annc__th--files min-tablet" id='files'>{{file-head}}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody data-level="0" data-list="announcements">
|
||||
<tr>
|
||||
<td class="i-annc__postdate" date-format="%Y-%m-%d" headers='date'>{{postdate}}</td>
|
||||
<td class="i-annc__content" headers='title'>
|
||||
<span class="i-annc__status-wrap" data-list="statuses" data-level="1">
|
||||
<span class="i-annc__status label status {{status-class}}">{{status}}</span>
|
||||
</span>
|
||||
<a class="i-annc__title" href="{{link_to_show}}">{{title}}</a>
|
||||
</td>
|
||||
<td class="i-annc__links" headers='links'>
|
||||
<ul data-list="bulletin_links" data-level="1">
|
||||
<li>
|
||||
<a class="i-annc__title" href="{{link_url}}">{{link_title}}</a>
|
||||
</li>
|
||||
</ul>
|
||||
</td>
|
||||
<td class="i-annc__files" headers='files'>
|
||||
<ul data-list="bulletin_files" data-level="1">
|
||||
<li>
|
||||
<a class="i-annc__title" href="{{file_url}}">{{file_title}}</a>
|
||||
</li>
|
||||
</ul>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
{{pagination_goes_here}}
|
||||
|
||||
<script>
|
||||
$('.i-annc__table').each(function(){
|
||||
if($(this).find('thead').length!=0 && $(this).find('td').length!=0 && !$(this).hasClass('dataTable')){
|
||||
$(this).DataTable({
|
||||
searching: false,
|
||||
paging: false,
|
||||
ordering: false,
|
||||
info: false,
|
||||
autoWidth: false
|
||||
});
|
||||
}
|
||||
});;
|
||||
</script>
|
||||
|
|
@ -0,0 +1,27 @@
|
|||
<div class="i-annc index-announcement-17 {{display}}">
|
||||
<h1 class="i-annc__page-title">{{page-title}}</h1>
|
||||
<table class="i-annc__table table table-striped">
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="i-annc__th i-annc__th--category">{{category-head}}</th>
|
||||
<th class="i-annc__th i-annc__th--title">{{title-head}}</th>
|
||||
<th class="i-annc__th i-annc__th--date">{{date-head}}</th>
|
||||
<th class="i-annc__th i-annc__th--department">{{department-head}}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody data-level="0" data-list="announcements">
|
||||
<tr>
|
||||
<td class="i-annc__category">{{category}}</td>
|
||||
<td class="i-annc__content">
|
||||
<span class="i-annc__status-wrap" data-list="statuses" data-level="1">
|
||||
<span class="i-annc__status label status {{status-class}}">{{status}}</span>
|
||||
</span>
|
||||
<a class="i-annc__title" href="{{link_to_show}}">{{title}}</a>
|
||||
</td>
|
||||
<td class="i-annc__postdate"><span class="i-annc__postdate-content" date-format="%Y-%m-%d">{{postdate}}</span></td>
|
||||
<td class="i-annc__department"><span class="i-annc__department-content">{{department}}</span></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
{{pagination_goes_here}}
|
||||
|
|
@ -0,0 +1,32 @@
|
|||
<div class="i-annc index-announcement-18">
|
||||
<h3 class="i-annc__page-title"><span>{{page-title}}</span></h3>
|
||||
<ul class="i-annc__list row" data-level="0" data-list="announcements">
|
||||
<li class="i-annc__item rotate0">
|
||||
<div class="i-annc__img-wrap bullseye">
|
||||
<a href="{{link_to_show}}" alt="{{img_description}}" title="{{img_description}}">
|
||||
<img class="i-annc__img" src="{{img_src}}" alt="{{img_description}}" title="{{img_description}}">
|
||||
</a>
|
||||
</div>
|
||||
<div class="i-annc__content-wrap">
|
||||
<div class="i-annc__meta">
|
||||
<span class="i-annc__status-wrap" data-list="statuses" data-level="1">
|
||||
<span class="i-annc__status label {{status-class}}">{{status}}</span>
|
||||
</span>
|
||||
<span class="i-annc__postdate-wrap" date-format="%Y-%m-%d">
|
||||
<i class="fa-regular fa-calendar"></i>
|
||||
<span class="i-annc__postdate">{{postdate}}</span>
|
||||
</span>
|
||||
<span class="i-annc__category-wrap">
|
||||
<i class="fa-solid fa-list"></i>
|
||||
<span class="i-annc__category">{{category}}</span>
|
||||
</span>
|
||||
</div>
|
||||
<h4 class="i-annc__entry-title">
|
||||
<a class="i-annc__title" href="{{link_to_show}}">{{title}}</a>
|
||||
</h4>
|
||||
<p class="i-annc__subtitle">{{subtitle}}</p>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
{{pagination_goes_here}}
|
||||
|
|
@ -0,0 +1,32 @@
|
|||
<div class="i-annc index-announcement-19">
|
||||
<h3 class="i-annc__page-title"><span>{{page-title}}</span></h3>
|
||||
<ul class="i-annc__list row" data-level="0" data-list="announcements">
|
||||
<li class="i-annc__item col-md-3 col-sm-3">
|
||||
<a href="{{link_to_show}}" alt="{{img_description}}" title="{{img_description}}">
|
||||
<div class="i-annc__img-wrap bullseye">
|
||||
<img class="i-annc__img" src="{{img_src}}" alt="" title="{{img_description}}">
|
||||
</div>
|
||||
<div class="i-annc__content-wrap">
|
||||
<div class="i-annc__meta">
|
||||
<span class="i-annc__status-wrap" data-list="statuses" data-level="1">
|
||||
<span class="i-annc__status label {{status-class}}">{{status}}</span>
|
||||
</span>
|
||||
<span class="i-annc__postdate-wrap" date-format="%Y-%m-%d">
|
||||
<i class="fa-regular fa-calendar"></i>
|
||||
<span class="i-annc__postdate">{{postdate}}</span>
|
||||
</span>
|
||||
<span class="i-annc__category-wrap">
|
||||
<i class="fa-solid fa-list"></i>
|
||||
<span class="i-annc__category">{{category}}</span>
|
||||
</span>
|
||||
</div>
|
||||
<h4 class="i-annc__entry-title">
|
||||
<span class="i-annc__title">{{title}}</span>
|
||||
</h4>
|
||||
<p class="i-annc__subtitle">{{subtitle}}</p>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
{{pagination_goes_here}}
|
||||
|
|
@ -0,0 +1,41 @@
|
|||
<div class="i-annc index-announcement-2">
|
||||
<h3 class="i-annc__page-title"><span>{{page-title}}</span></h3>
|
||||
<ul class="i-annc__list" data-level="0" data-list="announcements">
|
||||
<li class="i-annc__item row">
|
||||
<span class="i-annc__postdate-wrap col-sm-2" date-format="%Y-%m/%d">
|
||||
<span class="i-annc__postdate">{{postdate}}</span>
|
||||
</span>
|
||||
<h4 class="i-annc__entry-title col-sm-8">
|
||||
<span class="i-annc__status-wrap" data-list="statuses" data-level="1">
|
||||
<span class="i-annc__status label status {{status-class}}">{{status}}</span>
|
||||
</span>
|
||||
<a class="i-annc__title" href="{{link_to_show}}">{{title}}</a>
|
||||
</h4>
|
||||
<span class="i-annc__category-wrap col-sm-2">
|
||||
<span class="i-annc__category">{{category}}</span>
|
||||
</span>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
{{pagination_goes_here}}
|
||||
|
||||
<script>
|
||||
function postdate() {
|
||||
var len = $('.i-annc__postdate').length;
|
||||
var date = $('.i-annc__postdate');
|
||||
|
||||
for (let i=0; i<len; i++) {
|
||||
newDate = date[i].innerText.slice(5,10)
|
||||
newYear = date[i].innerText.slice(0,5)
|
||||
date[i].innerHTML= '';
|
||||
date[i].append(newYear)
|
||||
|
||||
var date2 = document.createElement('span');
|
||||
date2.className = 'new-date';
|
||||
date2.textContent = newDate;
|
||||
date[i].appendChild(date2);
|
||||
}
|
||||
}
|
||||
|
||||
postdate();
|
||||
</script>
|
||||