update
This commit is contained in:
parent
20ae68e7e8
commit
ea0f9862d3
|
|
@ -3692,5 +3692,17 @@ $(document).ready(function () {
|
|||
// 比 fixAccessibilityAll 的 800ms 晚,確保最後執行
|
||||
setTimeout(fixGalleryViewLinkA11y, 2000);
|
||||
});
|
||||
//公告活動公告tabindex
|
||||
$(function() {
|
||||
function removeAnncItemTabindex() {
|
||||
setTimeout(function() {
|
||||
$('.widget-announcement-4 .w-annc__item, .event-news-4 .w-annc__item')
|
||||
.removeAttr('tabindex');
|
||||
}, 500);
|
||||
}
|
||||
|
||||
removeAnncItemTabindex();
|
||||
});
|
||||
|
||||
|
||||
}(jQuery, window));
|
||||
|
|
|
|||
|
|
@ -1256,6 +1256,9 @@
|
|||
}
|
||||
// Widget-26
|
||||
.widget-announcement-26 {
|
||||
.widget-title-a {
|
||||
display: inline!important;
|
||||
}
|
||||
.w-annc__item{
|
||||
padding: 0;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@
|
|||
// Member Index
|
||||
// ## Gerneral styles for Index
|
||||
.member-data-value-name a {
|
||||
font-size: 1.5em;
|
||||
font-size: 1.2em;
|
||||
color: $theme-color-second;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
<li class="w-annc__item">
|
||||
<a href="{{link_to_show}}" aria-label="前往{{widget-title}}" title="{{widget-title}}" class="widget-title-a">
|
||||
<div class="w-annc__img-wrap ">
|
||||
<img class="w-annc__img" src="{{img_src}}" alt="{{img_description}}" title="{{img_description}}">
|
||||
<img class="w-annc__img" src="{{img_src}}" alt="{{img_description}}">
|
||||
</div>
|
||||
<div class="w-annc__meta">
|
||||
<span class="w-annc__status-wrap" data-list="statuses" data-level="1">
|
||||
|
|
|
|||
|
|
@ -28,7 +28,7 @@
|
|||
<div class="w-annc__item_inner">
|
||||
<a href="{{link_to_show}}" class="widget-title-a">
|
||||
<div class="w-annc__img-wrap bullseye" style="position:relative">
|
||||
<img class="w-annc__img" src="{{img_src}}" alt="{{img_description}}" title="{{img_description}}">
|
||||
<img class="w-annc__img" src="{{img_src}}" alt="{{img_description}}">
|
||||
<div class="transitionfade"></div>
|
||||
</div>
|
||||
<div class="w-annc__content-wrap">
|
||||
|
|
|
|||
|
|
@ -22,7 +22,7 @@
|
|||
|
||||
<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}}">
|
||||
<img class="w-annc__img" src="{{img_src}}" alt="{{img_description}}">
|
||||
</div>
|
||||
<div class="w-annc__content-wrap">
|
||||
<div class="w-annc__meta">
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@
|
|||
<a href="{{link_to_show}}" aria-label="前往{{widget-title}}" title="{{widget-title}}" class="widget-title-a">
|
||||
<div class="widget-title-a-inner">
|
||||
<div class="w-annc__img-wrap col-sm-4">
|
||||
<img class="w-annc__img" src="{{img_src}}" alt="{{img_description}}" title="{{img_description}}">
|
||||
<img class="w-annc__img" src="{{img_src}}" alt="{{img_description}}">
|
||||
</div>
|
||||
<div class="w-annc__content-wrap col-sm-8">
|
||||
<div class="w-annc__meta">
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@
|
|||
<a href="{{link_to_show}}" aria-label="前往{{widget-title}}" title="{{widget-title}}" class="widget-title-a">
|
||||
<div class="w-annc__item_inner">
|
||||
<div class="w-annc__img-wrap bullseye" >
|
||||
<img class="w-annc__img" src="{{img_src}}" alt="{{img_description}}" title="{{img_description}}">
|
||||
<img class="w-annc__img" src="{{img_src}}" alt="{{img_description}}">
|
||||
<div class="transitionfade"></div>
|
||||
</div>
|
||||
<div class="w-annc__content-wrap card">
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@
|
|||
<a href="{{link_to_show}}" aria-label="前往{{widget-title}}" title="{{widget-title}}" class="widget-title-a">
|
||||
<div class="w-annc__item_inner">
|
||||
<div class="w-annc__img-wrap bullseye" >
|
||||
<img class="w-annc__img" src="{{img_src}}" alt="{{img_description}}" title="{{img_description}}">
|
||||
<img class="w-annc__img" src="{{img_src}}" alt="{{img_description}}">
|
||||
<div class="transitionfade"></div>
|
||||
</div>
|
||||
<div class="w-annc__content-wrap card">
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
<li class="w-annc__item">
|
||||
<a href="{{link_to_show}}" aria-label="前往{{widget-title}}" title="{{widget-title}}" class="widget-title-a">
|
||||
<div class="w-annc__img-wrap ">
|
||||
<img class="w-annc__img" src="{{img_src}}" alt="{{img_description}}" title="{{img_description}}">
|
||||
<img class="w-annc__img" src="{{img_src}}" alt="{{img_description}}">
|
||||
</div>
|
||||
<div class="w-annc__meta">
|
||||
<span class="w-annc__status-wrap" data-list="statuses" data-level="1">
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@
|
|||
<li class="w-annc__item col-md-4">
|
||||
<a href="{{link_to_show}}" aria-label="前往{{widget-title}}" title="{{widget-title}}" class="widget-title-a">
|
||||
<div class="w-annc__img-wrap bullseye" >
|
||||
<img class="w-annc__img" src="{{img_src}}" alt="{{img_description}}" title="{{img_description}}">
|
||||
<img class="w-annc__img" src="{{img_src}}" alt="{{img_description}}">
|
||||
<div class="transitionfade"></div>
|
||||
</div>
|
||||
<div class="w-annc__content-wrap card">
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
<li class="w-annc__item">
|
||||
<a href="{{link_to_show}}" aria-label="前往{{widget-title}}" title="{{widget-title}}" class="widget-title-a">
|
||||
<div class="w-annc__img-wrap ">
|
||||
<img class="w-annc__img" src="{{img_src}}" alt="{{img_description}}" title="{{img_description}}">
|
||||
<img class="w-annc__img" src="{{img_src}}" alt="{{img_description}}">
|
||||
</div>
|
||||
<div class="w-annc__content-wrap card">
|
||||
<div class="w-annc__meta">
|
||||
|
|
@ -48,7 +48,6 @@
|
|||
// li 撐滿 grid 格子
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
// a 撐滿 li
|
||||
|
|
|
|||
|
|
@ -23,7 +23,7 @@
|
|||
<p class="w-annc__subtitle">{{subtitle}}</p>
|
||||
</div>
|
||||
<div class="w-annc__img-wrap col-sm-4">
|
||||
<img class="w-annc__img" src="{{img_src}}" alt="{{img_description}}" title="{{img_description}}">
|
||||
<img class="w-annc__img" src="{{img_src}}" alt="{{img_description}}">
|
||||
</div>
|
||||
|
||||
</a>
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
<ul class="w-annc__list" data-level="0" data-list="custom_announcements">
|
||||
<li class="w-annc__item">
|
||||
<div class="w-annc__img-wrap bullseye">
|
||||
<img class="w-annc__img" src="{{img_src}}" alt="{{img_description}}" title="{{img_description}}">
|
||||
<img class="w-annc__img" src="{{img_src}}" alt="{{img_description}}">
|
||||
</div>
|
||||
<div class="w-annc__meta">
|
||||
<span class="w-annc__status-wrap" data-list="statuses" data-level="1">
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@
|
|||
<ul class="w-annc__list row" data-level="0" data-list="custom_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}}">
|
||||
<img class="w-annc__img" src="{{img_src}}" alt="{{img_description}}">
|
||||
</div>
|
||||
<div class="w-annc__content-wrap">
|
||||
<div class="w-annc__meta">
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@
|
|||
|
||||
<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}}">
|
||||
<img class="w-annc__img" src="{{img_src}}" alt="{{img_description}}">
|
||||
</div>
|
||||
<div class="w-annc__content-wrap">
|
||||
<div class="w-annc__meta">
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@
|
|||
<li class="w-annc__item col-md-4">
|
||||
<div class="w-annc__img-wrap">
|
||||
<a href="{{link_to_show}}" title="{{title}}">
|
||||
<img class="w-annc__img" src="{{img_src}}" alt="{{img_description}}" title="{{img_description}}">
|
||||
<img class="w-annc__img" src="{{img_src}}" alt="{{img_description}}">
|
||||
</a>
|
||||
</div>
|
||||
<div class="w-annc__content-wrap">
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
<ul class="w-annc__list" data-level="0" data-list="custom_announcements">
|
||||
<li class="w-annc__item row">
|
||||
<div class="w-annc__img-wrap col-sm-4 bullseye">
|
||||
<img class="w-annc__img" src="{{img_src}}" alt="{{img_description}}" title="{{img_description}}">
|
||||
<img class="w-annc__img" src="{{img_src}}" alt="{{img_description}}">
|
||||
</div>
|
||||
<div class="w-annc__content-wrap col-sm-8">
|
||||
<div class="w-annc__meta">
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@
|
|||
<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}}">
|
||||
<img class="w-annc__img" src="{{img_src}}" alt="{{img_description}}">
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@
|
|||
<ul class="w-annc__list row" data-level="0" data-list="custom_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}}">
|
||||
<img class="w-annc__img" src="{{img_src}}" alt="{{img_description}}">
|
||||
</div>
|
||||
<div class="w-annc__content-wrap">
|
||||
<div class="w-annc__meta">
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
<ul class="w-annc__list" data-level="0" data-list="event_news">
|
||||
<li class="w-annc__item">
|
||||
<div class="w-annc__img-wrap bullseye">
|
||||
<img class="w-annc__img" src="{{img_src}}" alt="{{img_description}}" title="{{img_description}}">
|
||||
<img class="w-annc__img" src="{{img_src}}" alt="{{img_description}}">
|
||||
</div>
|
||||
<div class="w-annc__meta">
|
||||
<span class="w-annc__status-wrap" data-list="statuses" data-level="1">
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@
|
|||
</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;
|
||||
<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;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>
|
||||
|
|
@ -18,17 +18,18 @@
|
|||
</div>
|
||||
</div>
|
||||
<ul class="w-annc__list row cycle-slideshow" data-level="0" data-list="event_news" data-cycle-fx="carousel"
|
||||
data-cycle-carousel-rwd-json="{767: 1}"
|
||||
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}}"s
|
||||
data-cycle-prev="#prev-{{subpart-id}}"
|
||||
data-cycle-slides=".w-annc__item" >
|
||||
<li class="w-annc__item " >
|
||||
<a href="{{link_to_show}}" aria-label="前往{{widget-title}}" title="{{widget-title}}" class="widget-title-a">
|
||||
<div class="w-annc__item_inner">
|
||||
<a href="{{link_to_show}}" class="widget-title-a">
|
||||
<div class="w-annc__img-wrap bullseye" style="position:relative">
|
||||
<img class="w-annc__img" src="{{img_src}}" alt="{{img_description}}" title="{{img_description}}">
|
||||
<img class="w-annc__img" src="{{img_src}}" alt="{{img_description}}">
|
||||
<div class="transitionfade"></div>
|
||||
</div>
|
||||
<div class="w-annc__content-wrap">
|
||||
|
|
@ -50,10 +51,23 @@
|
|||
</h4>
|
||||
<p class="w-annc__subtitle">{{subtitle}}</p>
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<script src="//code.jquery.com/ui/1.13.2/jquery-ui.js"></script>
|
||||
<style type="text/css">
|
||||
.w-annc__item_inner{
|
||||
cursor: pointer;
|
||||
}
|
||||
.widget-title-a {
|
||||
display: block;
|
||||
}
|
||||
[data-subpart-id="{{subpart-id}}"] .bullseye{
|
||||
overflow: hidden;
|
||||
}
|
||||
</style>
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
<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}}" class="widget-title-a">
|
||||
<img class="w-annc__img" src="{{img_src}}" alt="{{img_description}}" title="{{img_description}}">
|
||||
<img class="w-annc__img" src="{{img_src}}" alt="{{img_description}}">
|
||||
</a>
|
||||
</div>
|
||||
<div class="w-annc__content-wrap col-sm-8">
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@
|
|||
<a href="{{link_to_show}}" aria-label="前往{{widget-title}}" title="{{widget-title}}" class="widget-title-a">
|
||||
<div class="w-annc__item_inner">
|
||||
<div class="w-annc__img-wrap bullseye" >
|
||||
<img class="w-annc__img" src="{{img_src}}" alt="{{img_description}}" title="{{img_description}}">
|
||||
<img class="w-annc__img" src="{{img_src}}" alt="{{img_description}}">
|
||||
<div class="transitionfade"></div>
|
||||
</div>
|
||||
<div class="w-annc__content-wrap card">
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
<div class="w-annc widget-announcement-4 event-news-21">
|
||||
<div class="w-annc widget-announcement-21 event-news-21">
|
||||
<h3 class="w-annc__widget-title">
|
||||
<span>{{widget-title}}</span>
|
||||
</h3>
|
||||
|
|
@ -18,7 +18,7 @@
|
|||
</div>
|
||||
</div>
|
||||
<ul class="w-annc__list row cycle-slideshow" data-level="0" data-list="event_news" data-cycle-fx="carousel"
|
||||
data-cycle-carousel-rwd-json="{767: 1}"
|
||||
data-cycle-carousel-rwd-json="{767: 1}"
|
||||
data-cycle-timeout="0"
|
||||
data-cycle-carousel-visible="3"
|
||||
data-cycle-carousel-fluid="true"
|
||||
|
|
@ -29,7 +29,7 @@
|
|||
<a href="{{link_to_show}}" aria-label="前往{{widget-title}}" title="{{widget-title}}" class="widget-title-a">
|
||||
<div class="w-annc__item_inner">
|
||||
<div class="w-annc__img-wrap bullseye" >
|
||||
<img class="w-annc__img" src="{{img_src}}" alt="{{img_description}}" title="{{img_description}}">
|
||||
<img class="w-annc__img" src="{{img_src}}" alt="{{img_description}}">
|
||||
<div class="transitionfade"></div>
|
||||
</div>
|
||||
<div class="w-annc__content-wrap card">
|
||||
|
|
|
|||
|
|
@ -21,7 +21,7 @@
|
|||
<li class="w-annc__item">
|
||||
<a href="{{link_to_show}}" aria-label="前往{{widget-title}}" class="widget-title-a">
|
||||
<div class="w-annc__img-wrap bullseye">
|
||||
<img class="w-annc__img" src="{{img_src}}" alt="{{img_description}}" title="{{img_description}}">
|
||||
<img class="w-annc__img" src="{{img_src}}" alt="{{img_description}}">
|
||||
</div>
|
||||
<div class="w-annc__content-wrap">
|
||||
<div class="w-annc__meta">
|
||||
|
|
@ -130,7 +130,7 @@
|
|||
num=1;
|
||||
}
|
||||
var flag=false;
|
||||
$('.btn-left').click(function(){
|
||||
$('[data-subpart-id="{{subpart-id}}"] .btn-left, #prev-{{subpart-id}}').click(function(){
|
||||
if(!flag){
|
||||
var uls = $('[data-subpart-id=\"{{subpart-id}}\"] ul.w-annc__list:not(.hidden_item)').toArray();
|
||||
var ul_length = uls.length;
|
||||
|
|
@ -148,7 +148,7 @@
|
|||
$('[data-subpart-id=\"{{subpart-id}}\"] ul.w-annc__list.active').eq(0).effect("slide", { direction: "left", mode: 'show', duration: 500},function(){flag=false;});
|
||||
};
|
||||
});
|
||||
$('.btn-right').click(function(){
|
||||
$('[data-subpart-id="{{subpart-id}}"] .btn-right, #next-{{subpart-id}}').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();
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@
|
|||
<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}}">
|
||||
<img class="w-annc__img" src="{{img_src}}" alt="{{img_description}}">
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
|
|
|
|||
|
|
@ -1,15 +1,16 @@
|
|||
<div class="w-annc event-news-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}}"><%= t("event_news.more") %></a>
|
||||
<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>
|
||||
<ul class="w-annc__list row" data-level="0" data-list="event_news">
|
||||
<li class="w-annc__item col-md-4" data-href="{{link_to_show}}" tabindex="0" role="link" title="{{title}}">
|
||||
<li class="w-annc__item col-sm-4">
|
||||
<div class="w-annc__item_inner">
|
||||
<div class="w-annc__img-wrap" style="position:relative">
|
||||
<img class="w-annc__img" src="{{img_src}}" alt="{{img_description}}" title="{{img_description}}">
|
||||
<a href="{{link_to_show}}">
|
||||
<div class="w-annc__img-wrap bullseye" style="position:relative">
|
||||
<img class="w-annc__img" src="{{img_src}}" alt="" >
|
||||
<div class="transitionfade"></div>
|
||||
</div>
|
||||
<div class="w-annc__content-wrap">
|
||||
|
|
@ -31,146 +32,61 @@
|
|||
</h4>
|
||||
<p class="w-annc__subtitle">{{subtitle}}</p>
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<style type="text/css">
|
||||
.w-annc__item_inner{
|
||||
cursor: pointer;
|
||||
}
|
||||
.widget-title-a {
|
||||
display: block;
|
||||
}
|
||||
[data-subpart-id="{{subpart-id}}"] .bullseye{
|
||||
overflow: hidden;
|
||||
}
|
||||
/* 防止外部排版套件影響此 widget 的 li */
|
||||
[data-subpart-id="{{subpart-id}}"] ul.w-annc__list > li {
|
||||
position: static !important;
|
||||
left: auto !important;
|
||||
top: auto !important;
|
||||
opacity: 1 !important;
|
||||
transform: none !important;
|
||||
transition-property: none !important;
|
||||
}
|
||||
[data-subpart-id="{{subpart-id}}"] ul.w-annc__list {
|
||||
position: static !important;
|
||||
height: auto !important;
|
||||
}
|
||||
</style>
|
||||
<script>
|
||||
$(document).ready(function(){
|
||||
$(document).on('click', '.w-annc__item[data-href]', function(e){
|
||||
var url = $(this).data('href');
|
||||
var title = $(this).data('title');
|
||||
if(!url) return;
|
||||
var isExternal = !(url.indexOf('/') === 0);
|
||||
if(isExternal){
|
||||
window.open(url, '_blank', 'noopener noreferrer');
|
||||
} else {
|
||||
window.location.href = url;
|
||||
}
|
||||
});
|
||||
});
|
||||
$(document).ready(function(){
|
||||
$(document).on('click keydown', '.w-annc__item[data-href]', function(e){
|
||||
// 鍵盤只接受 Enter(13) 或 Space(32)
|
||||
if(e.type === 'keydown' && e.which !== 13 && e.which !== 32) return;
|
||||
// 避免 Space 捲動頁面
|
||||
if(e.type === 'keydown' && e.which === 32) e.preventDefault();
|
||||
|
||||
var url = $(this).data('href');
|
||||
if(!url) return;
|
||||
var isExternal = !(url.indexOf('/') === 0);
|
||||
if(isExternal){
|
||||
window.open(url, '_blank', 'noopener noreferrer');
|
||||
} else {
|
||||
window.location.href = url;
|
||||
}
|
||||
});
|
||||
});
|
||||
$(document).ready(function() {
|
||||
var $widget = $('.event-news-4');
|
||||
function clearNavTabsFilterStyle_{{subpart-id}}(){
|
||||
$('[data-subpart-id=\"{{subpart-id}}\"] ul.w-annc__list > li').each(function(){
|
||||
var $li = $(this);
|
||||
$li[0].style.removeProperty('width');
|
||||
$li[0].style.removeProperty('position');
|
||||
$li[0].style.removeProperty('left');
|
||||
$li[0].style.removeProperty('top');
|
||||
$li[0].style.removeProperty('float');
|
||||
$li[0].style.removeProperty('opacity');
|
||||
$li[0].style.removeProperty('transform');
|
||||
$li[0].style.removeProperty('transition-property');
|
||||
$li[0].style.removeProperty('transition-duration');
|
||||
});
|
||||
$('[data-subpart-id=\"{{subpart-id}}\"] ul.w-annc__list').each(function(){
|
||||
this.style.removeProperty('position');
|
||||
this.style.removeProperty('height');
|
||||
});
|
||||
}
|
||||
|
||||
function getAnncItems($list) {
|
||||
return $list.find('.w-annc__item[data-href]:visible');
|
||||
}
|
||||
// 若父層有 .nav_tabs_filter,跳過 reorganize(由頁籤自行控制顯示/隱藏)
|
||||
var hasNavTabsFilter_{{subpart-id}} = (
|
||||
$('[data-subpart-id=\"{{subpart-id}}\"]').parents('.nav_tabs_filter').length > 0 ||
|
||||
$('[data-subpart-id=\"{{subpart-id}}\"]').closest('.tab-content, .tab_content, [data-pp]').length > 0 &&
|
||||
$('.nav_tabs_filter').length > 0
|
||||
);
|
||||
|
||||
function getActiveTabIndex($tabs) {
|
||||
return $tabs.filter('.active').index($tabs.filter('.active').parent().find('.nav_tabs_filter li'));
|
||||
// 更簡單的寫法:
|
||||
}
|
||||
$(window).resize(function(){
|
||||
if(hasNavTabsFilter_{{subpart-id}}){
|
||||
clearNavTabsFilterStyle_{{subpart-id}}();
|
||||
}
|
||||
})
|
||||
|
||||
// 1. 頁籤行為攔截
|
||||
$(document).on('keydown', '.nav_tabs_filter li', function(e) {
|
||||
if (e.which !== 9) return;
|
||||
|
||||
var $tabs = $widget.find('.nav_tabs_filter li');
|
||||
var $list = $widget.find('.w-annc__list');
|
||||
var index = $tabs.index(this);
|
||||
|
||||
if (index === -1) return;
|
||||
|
||||
if (!e.shiftKey) {
|
||||
e.preventDefault();
|
||||
e.stopImmediatePropagation();
|
||||
$(this).click();
|
||||
setTimeout(function() {
|
||||
var $items = getAnncItems($list);
|
||||
if ($items.length > 0) {
|
||||
$items.first().focus();
|
||||
} else {
|
||||
if (index < $tabs.length - 1) {
|
||||
$tabs.eq(index + 1).focus();
|
||||
}
|
||||
}
|
||||
}, 150);
|
||||
} else {
|
||||
if (index > 0) {
|
||||
e.preventDefault();
|
||||
e.stopImmediatePropagation();
|
||||
var $prevTab = $tabs.eq(index - 1);
|
||||
$prevTab.click();
|
||||
setTimeout(function() {
|
||||
var $prevItems = getAnncItems($list);
|
||||
if ($prevItems.length > 0) {
|
||||
$prevItems.last().focus();
|
||||
} else {
|
||||
$prevTab.focus();
|
||||
}
|
||||
}, 150);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
// 2. w-annc__item 行為攔截
|
||||
$(document).on('keydown', '.w-annc__item[data-href]', function(e) {
|
||||
if (e.which !== 9) return;
|
||||
|
||||
var $this = $(this);
|
||||
if ($widget.find($this).length === 0) return;
|
||||
|
||||
var $list = $widget.find('.w-annc__list');
|
||||
var $tabs = $widget.find('.nav_tabs_filter li');
|
||||
|
||||
// 關鍵修正:從 active tab 取得當前 index
|
||||
var activeTabIdx = $tabs.index($tabs.filter('.active'));
|
||||
|
||||
var $allItems = getAnncItems($list);
|
||||
var currentIdx = $allItems.index($this);
|
||||
|
||||
if (e.shiftKey) {
|
||||
e.preventDefault();
|
||||
e.stopImmediatePropagation();
|
||||
if (currentIdx === 0) {
|
||||
// 回到當前 active 的頁籤
|
||||
$tabs.eq(activeTabIdx).focus();
|
||||
} else {
|
||||
$allItems.eq(currentIdx - 1).focus();
|
||||
}
|
||||
} else {
|
||||
if (currentIdx === $allItems.length - 1) {
|
||||
// 最後一筆 -> 跳到下一個頁籤
|
||||
if (activeTabIdx < $tabs.length - 1) {
|
||||
e.preventDefault();
|
||||
e.stopImmediatePropagation();
|
||||
$tabs.eq(activeTabIdx + 1).focus();
|
||||
}
|
||||
// 已是最後一個頁籤的最後一筆,自然流出
|
||||
} else {
|
||||
e.preventDefault();
|
||||
e.stopImmediatePropagation();
|
||||
$allItems.eq(currentIdx + 1).focus();
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
</script>
|
||||
</script>
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@
|
|||
</h3>
|
||||
<ul class="w-annc__list row" data-level="0" data-list="event_news">
|
||||
<li class="w-annc__item">
|
||||
<a href="{{link_to_show}}">
|
||||
<div class="w-annc__content-wrap">
|
||||
<div class="w-annc__meta">
|
||||
<span class="w-annc__postdate-wrap" date-format="%Y-%m-%d">
|
||||
|
|
@ -23,6 +24,7 @@
|
|||
</h4>
|
||||
<p class="w-annc__subtitle">{{subtitle}}</p>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
<div class="w-annc__more-wrap clearfix">
|
||||
|
|
|
|||
Loading…
Reference in New Issue