This commit is contained in:
kenlee 2025-07-07 20:02:52 +08:00
parent 2da794cfe5
commit fd685dfe8b
74 changed files with 2846 additions and 449 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 28 KiB

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 559 B

BIN
assets/images/titleicon.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 81 KiB

View File

@ -264,18 +264,33 @@
},
ClickMenuHandler: function() {
$('.navbar-toggle').click(function(e){
// 處理主選單切換(漢堡 icon
$(document).on('click', '.navbar-toggle', function (e) {
e.preventDefault();
// 確保 .navbar-toggle 放到 .modules-menu 後面
$('.mobile-menu').each(function () {
var $menu = $(this);
if ($menu.find('.modules-menu').length && !$menu.find('.modules-menu + .navbar-toggle').length) {
$menu.find('.modules-menu').after($menu.find('.navbar-toggle'));
}
});
$('.mobile-menu').toggleClass('active');
$('body').toggleClass('noscroll');
$('.mobile-menu .navbar-toggle').removeClass('collapsed');
// $menu.slideToggle();
$('.mobile-menu1 > ul').slideUp(500);
$('.mobile-menu1 > .menu-drop').removeClass('opened');
$('.mobile-menu2 > ul').slideUp(500);
$('.mobile-menu2 > .menu-drop').removeClass('opened');
})
// 關閉所有下拉選單
$('.mobile-menu1 > ul, .mobile-menu2 > ul').slideUp(500);
$('.mobile-menu1 > .menu-drop, .mobile-menu2 > .menu-drop').removeClass('opened');
// 無障礙:聚焦第一個互動元素
if ($('.mobile-menu').hasClass('active')) {
setTimeout(function () {
$('.modules-menu').find('input, button, select, textarea, a').first().focus();
}, 100);
}
});
$('.mobile-menu1 > .menu-drop').click(function(){
var $that = $(this);
@ -384,6 +399,113 @@
// $('.header-buttom').appendTo($('.dropdowns'));
// }
function forFreeGo() {
//表單legend
$("fieldset").each(function () {
const $fieldset = $(this);
const hasLegend = $fieldset.children("legend").length > 0;
if (!hasLegend) {
// 嘗試抓最上層的群組標題,例如 "Apply"
const headingText = $fieldset.find(".form-group:first").text().trim() || "表單填寫";
// 插入 legend 為第一個元素
$fieldset.prepend(`<legend>${headingText}</legend>`);
}
});
// 處理「上一頁」按鈕
$(".cmdBackward").each(function () {
$(this)
.attr("title", "上一頁")
.attr("aria-label", "上一頁");
if ($(this).find(".sr-only").length === 0) {
$(this).append('<span class="sr-only">上一頁</span>');
}
$(this).find("i").attr("aria-hidden", "true");
$(this).find(".icon").attr("aria-hidden", "true");
});
// 處理「下一頁」按鈕
$(".cmdForward").each(function () {
$(this)
.attr("title", "下一頁")
.attr("aria-label", "下一頁");
if ($(this).find(".sr-only").length === 0) {
$(this).append('<span class="sr-only">下一頁</span>');
}
$(this).find("i").attr("aria-hidden", "true");
$(this).find(".icon").attr("aria-hidden", "true");
});
$('.pagination li.active a').attr('aria-current', 'page');
$('path').each(function () {
$(this)
.attr('aria-hidden', 'true')
.attr('focusable', 'false')
.attr('tabindex', '-1');
});
$('.controlplay a[role="radio"]').on('click', function () {
// 取消所有的 aria-checked 並還原文字
$('.controlplay a[role="radio"]').attr('aria-checked', 'false');
$('.controlplay a[role="radio"] span').each(function () {
var text = $(this).text().replace('(已選取)', '');
$(this).text(text);
});
// 設定目前被點擊的按鈕為已選取
$(this).attr('aria-checked', 'true');
var selectedText = $(this).text().trim();
$(this).find('span').text(selectedText + '(已選取)');
});
// 遍历所有的 .s-annc__tag-wrap 元素
$('.s-annc__tag-wrap').each(function() {
// 遍历 .s-annc__tag-wrap 下的每个 a 元素
$(this).find('a').each(function() {
// 如果 .s-annc__tag 元素为空或没有内容
if ($(this).find('.s-annc__tag').is(':empty')) {
// 移除该 a 元素
$(this).remove();
}
});
});
$('.w-ba-banner__caption li button').each(function (index) {
const $slide = $('.w-ba-banner__slide').eq(index);
const title = $slide.attr('data-cycle-title')?.trim();
if (title) {
const fullText = title + '的pager';
$(this).attr('aria-label', fullText);
$(this).attr('title', fullText);
}
});
// 當 focus 到 menu link 時,顯示對應 ul
$('.sitemenu-item > a').on('focus', function () {
$(this).siblings('ul').addClass('show');
});
// 當 focus 離開最後一個子選單 link 時,移除 .show
$('.sitemenu-item').each(function () {
const $submenuLinks = $(this).find('ul a');
if ($submenuLinks.length > 0) {
$submenuLinks.last().on('blur', function () {
// 當最後一個子項 blur 時關閉 ul
$(this).closest('ul').removeClass('show');
});
} else {
// 若沒有子項,當主選單項 blur 也隱藏
$(this).find('> a').on('blur', function () {
$(this).siblings('ul').removeClass('show');
});
}
});
if (document.documentElement.lang === 'zh_tw') {
document.documentElement.lang = 'zh-Hant';
}
@ -465,6 +587,18 @@
$(this).css("font-size", emValue + "em");
}
});
$("[style*='font-size']").each(function() {
var styleAttr = $(this).attr("style"); // 取得原始 style 屬性字串
var match = styleAttr.match(/font-size\s*:\s*(\d+(?:\.\d+)?)pt/i);
if (match) {
var ptValue = parseFloat(match[1]);
var emValue = ptValue / 12;
// 替換 style 屬性字串中的 pt 為 em
var newStyle = styleAttr.replace(/font-size\s*:\s*\d+(?:\.\d+)?pt/i, `font-size: ${emValue}em`);
$(this).attr("style", newStyle);
}
});
//表格scope
$("table").each(function() {
$(this).find("tr").each(function(rowIndex) {
$(this).find("th").each(function(colIndex) {
@ -502,6 +636,18 @@
$this.attr('title', '這是一張圖片');
}
});
$('img').each(function() {
var $this = $(this);
// 檢查 img 的 alt 屬性是否為 "裝飾圖片"
if ($this.attr('alt') === "裝飾圖片" || $this.attr('title') === "裝飾圖片") {
// 設定 alt 為空字串
$this.attr('alt', '');
// 移除 title 屬性
$this.removeAttr('title');
}
});
$(".w-annc__img-wrap a").each(function () {
var $this = $(this);
// 確保 <a> 內沒有文字節點 (避免重複添加)
@ -561,106 +707,93 @@
$button.attr('aria-label', '播放驗證碼語音');
}
});
// 幫有連結目的之所有a標籤加上aria-label
$('a').each(function() {
var $this = $(this);
//有連結目的之所有a標籤加上aria-label和title
$('a').each(function () {
var $a = $(this);
var href = $a.attr('href');
if (!href) return;
// 如果 <a> 已經有 aria-label則跳過
if ($this.attr('aria-label')) return;
var hasSrOnly = $a.find('.sr-only').length > 0;
var href = $this.attr('href');
if (!href) return; // 如果沒有 href則跳過
// 若有 .sr-only移除 aria-label 和 title 避免重複朗讀
if (hasSrOnly) {
$a.removeAttr('aria-label');
$a.removeAttr('title');
return; // 有 .sr-only 就不做其他處理
}
var ariaLabel = "";
// ----- aria-label 邏輯 -----
if (!$a.attr('aria-label')) {
let ariaLabel = '';
// 加入開啟方式
if ($this.attr('target') === '_self') {
ariaLabel += '在本視窗開啟 ';
} else if ($this.attr('target') === '_blank') {
// 加入開啟方式
if ($a.attr('target') === '_blank') {
ariaLabel += '在新視窗開啟 ';
} else if ($a.attr('target') === '_self') {
ariaLabel += '在本視窗開啟 ';
}
// 如果包含圖片且有圖片 title
if ($a.find('img').length) {
const imgTitle = $a.find('img').attr('title');
if (imgTitle) ariaLabel = imgTitle;
} else {
const text = $a.text().trim();
if (text) {
ariaLabel += text;
} else if ($a.children('span').length === 1) {
ariaLabel += $a.children('span').text().trim();
}
}
if (ariaLabel) {
$a.attr('aria-label', ariaLabel);
}
}
// 取得 <a> 的文字內容
var linkText = $this.text().trim();
if (linkText) {
ariaLabel += linkText;
} else if ($this.children('span').length === 1) {
ariaLabel += $this.children('span').text().trim();
}
// 如果包含 <i> 圖示,標示為 icon
if ($this.find('i').length) {
ariaLabel = "這是 icon";
}
// ----- title 邏輯 -----
if (!$a.attr('title')) {
let titleStr = '';
// 如果是圖片連結,標示為照片
if ($this.find('img').length) {
ariaLabel = "這是一張照片";
}
if ($a.attr('target') === '_blank') {
titleStr += '在新視窗開啟 ';
} else if ($a.attr('target') === '_self') {
titleStr += '在本視窗開啟 ';
}
// 設定 aria-label
if (ariaLabel) {
$this.attr('aria-label', ariaLabel);
}
});
if ($a.find('img').length) {
titleStr = '這是一張照片';
} else {
const text = $a.text().trim();
if (text) {
titleStr += text;
} else if ($a.children('span').length === 1) {
titleStr += $a.children('span').text().trim();
}
}
// 幫有連結目的之所有a標籤加上title
$('a').each(function() {
var $this = $(this);
var href = $this.attr('href');
if (!href) return; // 沒有 href 就跳過
// 如果 <a> 已經有 title 屬性,則不進行修改
if ($this.attr('title')) return;
var titlestr = "";
// 加入開啟方式
if ($this.attr('target') == '_self') {
titlestr += '在本視窗開啟 ';
} else if ($this.attr('target') == '_blank') {
titlestr += '在新視窗開啟 ';
if (titleStr) {
$a.attr('title', titleStr);
}
}
// 決定 title 內容
var linkText = $this.text().trim();
if (linkText) {
titlestr += linkText;
} else if ($this.children('span').length == 1) {
titlestr += $this.children('span').text().trim();
}
// 如果是圖片連結,標示為照片
if ($this.find('img').length) {
titlestr = "這是一張照片";
}
// 設定 title
if (titlestr) {
$this.attr('title', titlestr);
}
});
});
$('a').each(function () {
const $link = $(this);
const linkText = $link.text().trim();
// for(var i=0;i<$('a').length;i++){
// if($('a').eq(i).attr("href") != "" || $('a').eq(i).attr("href") != undefined ){
// var titlestr="";
// if($('a').eq(i).attr('target')=='_self')
// titlestr += '在本視窗開啟 ';
// else if($('a').eq(i).attr('target') == '_blank')
// titlestr += '在新視窗開啟 ';
// if($('a').eq(i).attr('title') == "" || $('a').eq(i).attr('title')==undefined && $('a').eq(i).html().search('</') == -1)
// titlestr += $('a').eq(i).html().trim();
// else if($('a').eq(i).attr('title') == "" || $('a').eq(i).attr('title') == undefined && $('a').eq(i).find('>span').length==1)
// titlestr += $('a').eq(i).find('>span').html().trim();
// else if($('a').eq(i).attr('title') == "" || $('a').eq(i).attr('title') == undefined){
// try{
// if($('a').eq(i).html().trim().split('>').length==2)
// titlestr += $('a').eq(i).html().trim().split('>')[1].trim();
// else if($('a').eq(i).html().trim().split('>').length==3)
// titlestr += $('a').eq(i).html().trim().split('>')[2].trim();
// }catch(e){};
// }
// else
// titlestr += $('a').eq(i).attr('title');
// if(titlestr.search('<img') != -1)
// titlestr = "這是一張照片";
// if(titlestr != "")
// $('a').eq(i).attr('title',titlestr);
// };
// };
$link.find('img').each(function () {
const $img = $(this);
const altText = $img.attr('alt')?.trim();
// 如果圖片 alt 是空的,就略過(已符合)
if (altText === '') return;
// 如果圖片 alt 等於文字內容,就將 alt 清空,避免重複
if (altText === linkText) {
$img.attr('alt', '');
}
});
});
// 刪除banner-slide的空連結和空連結目標
for(var i=0;i<$('.w-ba-banner__slide a').length;i++){
@ -811,6 +944,42 @@ extendPanelWidget();
}
$(document).ready(function () {
// 處理所有 .fnav-item 裡的 <a>
$(".fnav-item a").each(function () {
const $a = $(this);
// 如果內部已經有 .sr-only就略過
if ($a.find(".sr-only").length > 0) return;
// 嘗試從 title 擷取語意文字
let label = $a.attr("title") || "";
// 如果還是空字串,再嘗試用 i 的 title
if (!label.trim()) {
const iconTitle = $a.find("i").attr("title");
if (iconTitle) label = iconTitle;
}
// 如果真的都沒有語意,預設一個 generic label也可加入 warning log
if (!label.trim()) {
label = "操作按鈕";
}
// 加上 title 和 aria-label
$a.attr("title", label).attr("aria-label", label);
// 加上 sr-only 輔助文字
$a.append(`<span class="sr-only">${label}</span>`);
// 確保 icon 不被閱讀器讀取
$a.find("i").attr("aria-hidden", "true");
$a.find(".icon").attr("aria-hidden", "true");
});
});
//video js
$(document).ready(function () {
if ($(".main-content .video_detail").length > 0) {
$('.videopagenone').css("display","none");
@ -831,7 +1000,7 @@ $(document).ready(function () {
$(this).html(decodedHtml); // 設置為真正的 HTML
});
$(".video_group_time").each(function () {
var $this = $(this); // 當前 .video_group_time
var $this = $(this);
// 找到對應的 <q>,並移動到 .video_group_time 內部
var $q = $this.closest(".imglst_desc").find(".movie_desc q");
if ($q.length) {
@ -895,22 +1064,8 @@ $(document).ready(function () {
clearInterval(interval);
}
}, 1000);
});
// 當文件物件模型(DOM)載入後執行init函數
$(document).ready(function() {
// 綁定滑動事件
$(".cycle-slideshow").swipe({
swipeLeft: function () {
$(this).cycle("next"); // 向左滑動,切換到下一張
},
swipeRight: function () {
$(this).cycle("prev"); // 向右滑動,切換到上一張
},
threshold: 50, // 滑動靈敏度(數值越小越敏感)
});
//改變日期格式
$(".video_group_time").each(function () {
//改變日期格式
$(".video_group_time").each(function () {
var $this = $(this);
var originalText = $this.text().trim();
// 把 YYYY-MM-DD 轉換成 M月D日
@ -922,6 +1077,87 @@ $(document).ready(function () {
// 更新內容並加上 <q>
$this.html(formattedText).append($q);
});
});
$(document).ready(function () {
$('.rucaptcha-image').removeAttr('onload');
// 檢查是否已插入過
if (!$('#captcha_audio').length) {
const audioButton = $(`
<button
title="播放驗證碼語音"
type="button"
onclick="document.getElementById('captcha_audio').play();"
class="fas fa-volume-up"
aria-label="播放驗證碼語音"
role="button"
style="font-size: 1.5em; color: #333; cursor: pointer; border: 2px solid #333; padding: 0.2em;">
<span class="sr-only">播放驗證碼語音</span>
</button>
`);
const audio = $('<audio id="captcha_audio" src="/rucaptcha/?format=wav&amp;locale=zh_tw"></audio>');
$('.rucaptcha-image').after(audioButton, audio);
}
});
//萬用表格searchbtn2
$(document).ready(function () {
$('.searchbtn2').click(function (event) {
event.preventDefault(); // 防止預設行為
$(".searchbox").slideToggle(300, function () {
updateAriaExpanded();
});
$(this).closest('.ken-click').toggleClass('ken-click2');
});
let triggeredByFocus = false;
function updateAriaExpanded() {
const isVisible = $(".searchbox").is(":visible");
$(".searchbtn2").attr("aria-expanded", isVisible ? "true" : "false");
}
// 預設 aria-expanded 為 false
$(".searchbtn2").attr("aria-expanded", "false");
});
// 當文件物件模型(DOM)載入後執行init函數
$(document).ready(function() {
$('a').each(function () {
const $a = $(this);
// 有圖示或圖片就不刪
if ($a.find('i, img').length > 0) return;
// 沒有任何實際文字內容(去除空白)
const hasVisibleText = $a.text().trim().length > 0;
// 進一步判斷 span 內部是否完全為空
const allChildrenEmpty = $a.children().length > 0 && $a.children().toArray().every(child => {
return $(child).text().trim().length === 0;
});
// 如果沒有文字內容且子元素全為空,則移除
if (!hasVisibleText && allChildrenEmpty) {
$a.remove();
}
});
$('.i-member-pic-wrap a').removeAttr('target');
function markCheckStatusButton() {
$('.ask-question').each(function () {
var $prev = $(this).prev(); // 取得前一個元素
// 如果前一個元素是 <a> 且 class 包含 "btn"
if ($prev.is('a') && $prev.hasClass('btn')) {
$prev.addClass('CheckStatus'); // 加上 class
}
});
};
markCheckStatusButton();
//常用到的js
// $('.').after($('.'));
// $('.').before($('.'));
@ -929,6 +1165,19 @@ $(document).ready(function () {
// if($('.show-announcement').hasClass('show-announcement')) {
// $('.').css('', '');
// }
// 綁定滑動事件
$(".cycle-slideshow").swipe({
swipeLeft: function () {
$(this).cycle("next");
},
swipeRight: function () {
$(this).cycle("prev");
},
threshold: 50, // 滑動靈敏度(數值越小越敏感)
});
$('#check_history_form input[type="submit"][value="Check History"]').addClass('CheckHistory');
$(".mybooking").append('<i class="fa-solid fa-circle-user"></i>');
//內頁dattpp移位
$('.i-annc__page-title').after($('.sitemenu-wrap2'));
@ -937,12 +1186,9 @@ $(document).ready(function () {
$('.box-social-share').before($('.sitemenu-wrap3'));
$('.box-social-share').before($('.sitemenu-wrap3'));
$('.box-social-share').before($('.sitemenu-wrap3'));
$(".member-data2-tr").before($(".show-member .table-striped > tbody > tr:nth-of-type(4)"));
$(".nav-pills").before($(".show-member .table-striped > tbody > tr:last-child"));
//檔案室手風琴
$('.panel-title>.collapsed').click(function(){
$(this).find('.fa').toggleClass("fa-chevron-down");
@ -994,11 +1240,6 @@ $(document).ready(function () {
}else{
$('.outdropdowns').before($('.header-nav'));
};
//
$(".ken-click").click(function(){
$(".searchbox").slideToggle(300);
$('.ken-click').toggleClass('ken-click2');
});
$('.sitemenu-vertical .sitemenu-dropdown-toggle').click(function(){
$('.sitemenu-vertical .dropdown-menu').slideToggle();
$(".sitemenu-vertical .sitemenu-dropdown-toggle").toggleClass("fa-caret-down");
@ -1019,7 +1260,6 @@ $(document).ready(function () {
$('.list-unstyled>li:nth-child(n+5)').slideToggle();
$(".morebken .fa-chevron-down").toggleClass("rotate");
$(".openmorebken").toggleClass("closemorebken");
});
//RWD 自動縮放headerbannner
function headerH() {
@ -1093,91 +1333,172 @@ $(document).ready(function () {
// $('.outdropdowns').removeClass('navFixed'); /* 移除選單固定效果 */
// }
// });
$('.navbar-brand h2').replaceWith(function() {
return $("<h1>", {
class: this.className,
html: $(this).html()
});
});
// $('.navbar-brand h2').replaceWith(function() {
// return $("<h1>", {
// class: this.className,
// html: $(this).html()
// });
// });
$('#search'). attr('title', '另開新視窗');
$(window).scroll(function() {
var windowBottom = $(window).scrollTop() + $(window).innerHeight();
$('.hide0').each(function() {
var mid = $(this).offset().top + $(this).height()/2;
if( mid < windowBottom && mid > $(window).scrollTop()){
$(this).addClass('animationvisible')
} else {
$(this).removeClass('animationvisible')
}
})
$('.hide1').each(function() {
var mid = $(this).offset().top + $(this).height()/2;
if( mid < windowBottom && mid > $(window).scrollTop()){
$(this).addClass('animationvisible1')
} else {
$(this).removeClass('animationvisible1')
}
})
$('.hide2').each(function() {
var mid = $(this).offset().top + $(this).height()/2;
if( mid < windowBottom && mid > $(window).scrollTop()){
$(this).addClass('animationvisible2')
} else {
$(this).removeClass('animationvisible2')
}
})
$('.hide3').each(function() {
var mid = $(this).offset().top + $(this).height()/2;
if( mid < windowBottom && mid > $(window).scrollTop()){
$(this).addClass('animationvisible3')
} else {
$(this).removeClass('animationvisible3')
}
})
$('.rotate0').each(function() {
var mid = $(this).offset().top + $(this).height()/2;
if( mid < windowBottom && mid > $(window).scrollTop()){
$(this).addClass('animationrotate0')
} else {
$(this).removeClass('animationrotate0')
}
})
$('.zoomin').each(function() {
var mid = $(this).offset().top + $(this).height()/2;
if( mid < windowBottom && mid > $(window).scrollTop()){
$(this).addClass('animationvisible5')
} else {
$(this).removeClass('animationvisible5')
}
})
})
$(window).scroll(function () {
var windowTop = $(window).scrollTop();
var windowBottom = windowTop + $(window).innerHeight();
function handleAnimationOnce(selector, animationClass, offsetRatio = 0.5) {
$(selector).each(function () {
var elementTop = $(this).offset().top;
var elementHeight = $(this).height();
var triggerPoint = elementTop + elementHeight * offsetRatio;
if (
triggerPoint >= windowTop &&
triggerPoint <= windowBottom &&
!$(this).hasClass(animationClass)
) {
$(this).addClass(animationClass);
}
});
}
handleAnimationOnce('.hide0', 'animationvisible', 0.1);
handleAnimationOnce('.hide1', 'animationvisible1', 0.5);
handleAnimationOnce('.hide2', 'animationvisible2', 0.5);
handleAnimationOnce('.hide3', 'animationvisible3', 0.5);
handleAnimationOnce('.rotate0', 'animationrotate0', 0.5);
handleAnimationOnce('.zoomin', 'animationvisible5', 0.5);
});
init();
});
//orbitbar無障礙js
$(document).ready(function() {
const isEnglish = document.documentElement.lang === 'en';
if (isEnglish) {
$('.navbar-toggle').attr({
title: 'menu',
'aria-label': 'menu'
});
$('label[for="open-orbit-nav"]').attr({
title: 'Site search and language menu',
'aria-label': 'Site search and language menu'
});
$('.mobile-button').attr({
title: 'Language menu',
'aria-label': 'Language menu'
});
} else {
$('label[for="open-orbit-nav"]').attr({
title: '全站収尋及語言切換選單',
'aria-label': '全站収尋及語言切換選單'
});
$('.mobile-button').attr({
title: '語言切換選單',
'aria-label': '語言切換選單'
});
}
$('label[for="open-orbit-login"]').removeAttr('tabindex');
$('#orbit-bar').find('li').each(function() {
var $li = $(this);
// 如果 <li> 中没有 <a> 元素,则为 <li> 设置 tabindex="0"
if ($li.children('a').length === 0) {
$li.attr('tabindex', '0');
} else {
// 如果 <li> 中有 <a> 元素,则确保 <a> 有 tabindex="0"
$li.find('a').attr('tabindex', '0');
// 确保 <li> 不影响焦点管理,移除 <li> 的 tabindex
$li.removeAttr('tabindex');
// 如果 <li> 被聚焦,自动跳转到 <a> 元素
$li.on('focus', function() {
$(this).find('a').focus();
});
}
});
$('label[for="open-orbit-nav"]').attr('tabindex', '0');
// 当屏幕宽度小于 768px 时,将 .orbit-bar-search-sign-language 移动到 <label for="open-orbit-nav"> 后面
function moveSearchSignLanguage() {
if ($(window).width() < 767) {
$('.orbit-bar-search-sign-language').insertAfter('label[for="open-orbit-nav"]');
} else {
// 屏幕宽度大于等于 768px 时,恢复原位置
$('.orbit-bar-search-sign-language').appendTo('.orbit-bar-inner');
}
}
moveSearchSignLanguage();
$(window).resize(function() {
moveSearchSignLanguage();
});
// 当 <label for="open-orbit-nav"> 被选中时,显示 .orbit-bar-search-sign-language
$('label[for="open-orbit-nav"]').on('focus', function() {
$('.orbit-bar-search-sign-language').addClass('show');
})
$('#languagebutton').on('focus', function() {
$('#language-li ul').addClass('show');
});
// // //選單
// $(document).ready(function() {
//
// //drop down menu
// $(".dropdown-toggle").hover(function() {
// $('.modules-menu-level-1').addClass('display-on');
// });
// $(".dropdown-toggle").mouseleave(function() {
// $('.modules-menu-level-1').removeClass('display-on');
// });
//
// });
// $(document).ready(function() {
//
// "use strict";
//
// $(".navbar-collapse > ul > li").hover(function(e) {
// if ($(window).width() > 943) {
// $(this).children("ul").stop(true, false).fadeToggle(150);
// e.preventDefault();
// }
// });
// });// //選單
// 监听 #language 元素被 Tab 键选中时
$('#language-li-ul li').on('focus', function() {
// 给 #language 内部的 ul 元素添加 show 类
$(this).find('ul').addClass('show');
});
$('#language-li-ul li ul > li:last-child>a').on('blur', function() {
$('#language-li-ul li ul').removeClass('show');
});
$('.orbit-bar-title a').on('focus', function() {
$('#language-li-ul li ul').removeClass('show');
});
$('#language-li').on('focus', function() {
// 给 #language 内部的 ul 元素添加 show 类
$(this).find('ul').addClass('show');
});
$('#language-li ul > li:last-child>a').on('blur', function() {
$('#language-li ul').removeClass('show');
$('.orbit-bar-search-sign-language').removeClass('show');
});
$('label[for="open-orbit-login"]').on('blur', function() {
$('.orbit-bar-search-sign-language').removeClass('show');
});
$('#gotocenter').on('focus', function() {
// 当 #gotocenter 被选中时,移除 .orbit-bar-search-sign-language 上的 show 类
$('.orbit-bar-search-sign-language').removeClass('show');
});
$('label[for="open-orbit-nav"]').on('click', function() {
// 切換 .orbit-bar-search-sign-language 的 .show 類別
$('.orbit-bar-search-sign-language').removeClass('show');
});
$('li[tabindex="0"]').each(function () {
const $li = $(this);
if ($li.find('input').length > 0) {
$li.removeAttr('tabindex');
}
});
});
$(document).ready(function () {
$('.controlplay a[role="radio"]').on('click', function () {
// 取消所有的 aria-checked 並還原文字
$('.controlplay a[role="radio"]').attr('aria-checked', 'false');
$('.controlplay a[role="radio"] span').each(function () {
var text = $(this).text().replace('(已選取)', '');
$(this).text(text);
});
// 設定目前被點擊的按鈕為已選取
$(this).attr('aria-checked', 'true');
var selectedText = $(this).text().trim();
$(this).find('span').text(selectedText + '(已選取)');
});
});
//選單樣式2
$(document).ready(function() {
"use strict";

View File

@ -1,6 +1,10 @@
@charset "utf-8";
@import "initial";
@media (max-width: 1150px) {
.black-screen-social-window {
display: none !important;
}
}
@media(max-width: 767px) {
.modules-menu .modules-menu-level-0>li { margin: 0; }
.modules-menu .modules-menu-level-0>li:hover { background: transparent; }

View File

@ -2,6 +2,36 @@
@import "../initial";
@import "variables";
#orbit-bar .orbit-bar-title a{
color: #333!important;
}
#orbit-bar .orbit-bar-inner > label:focus, #orbit-bar .orbit-bar-inner > label.focus{
.orbit-bar-search-sign-language{
display: block
}
}
.orbit-bar-search-sign-language{
@media(max-width:767px){
position: absolute !important;
width: 100%;
margin: 0 !important;
right: 0 !important;
top: 2.5em !important;
}
}
body #orbit-bar .orbit-bar-search-sign-language #search input[type="search"]{
&:hover{
outline: 3px solid $theme-color-second;
background-color: #e6f0ff;
border-radius: 4px;
}
&:focus{
outline: 3px solid $theme-color-second;
background-color: #e6f0ff;
border-radius: 4px;
}
}
#orbit-bar .orbit-bar-inner > ul > li > ul li{
list-style: none!important;
}
@ -33,8 +63,9 @@ a:focus {
}
img {
max-width: 100%;
height: auto;
width: 100%;
height: 100%;
object-fit: cover;
}
.admin-edit {
@ -120,7 +151,11 @@ a.btn-primary {
}
}
}
img{
width: 100%;
height: 100%;
object-fit: cover;
}
// Take care of exceeding content
// body[data-module="page_content"],
// body[data-module="announcement"] {
@ -128,3 +163,6 @@ a.btn-primary {
// overflow-x: auto;
// }
// }
*[data-pp]>.editmode-ps>a, .admin-subpart-area .content>.editmode-ps>a{
position: !important;
}

View File

@ -1,21 +1,55 @@
@charset "utf-8";
@import "variables";
.internal-page{
.page-module-title{
display: block !important;
text-align: left !important;
&:before{
display: block;
position: relative;
text-align: center;
content: '';
height: 6px;
width: 80px;
background-color: $theme-color-second;
margin-bottom: 0.2em;
}
}
}
.page-home{
.unity-title {
span{
width: 100%;
display: flex;
justify-content: center;
align-items: center;
&:before{
background: url(/assets/titleicon.png) no-repeat left center;
display: block;
position: relative;
text-align: center;
content: '';
width: 35px;
height: 35px;
background-size: contain;
margin-top: 9px;
margin-right: 4px;
}
}
}
}
// Title
.unity-title {
margin: 0.5em 0;
line-height: 1.5;
font-family: $main-font;
font-size: $font-h3;
font-weight: bold;
color: $theme-color-main;
display: -webkit-box;
text-align: center;
.layout-footer & {
margin-bottom: 0.625em;
border-bottom: none;
span {
display: inline;
margin-bottom: 0;

View File

@ -16,7 +16,7 @@ $theme-red: #d20001;
$theme-blue: #003d7e;
$theme-color-main: #333333;
$theme-color-second:#1a1b20;
$theme-color-second:#1273eb;
$theme-color-third: #1273eb;
$theme-color-green: #32D9C3;
$theme-color-hover:#1e71c1;
@ -33,29 +33,41 @@ $sub-font: "Noto Sans TC", sans-serif;
$font-15: 0.9375rem;
$font-13: 0.8125rem;
$font-h1: 2.5rem;
$font-h2: 2rem;
$font-h3: 1.8rem;
$font-h4: 1.5rem;
$font-h5: 1.2rem;
$font-h6: 1rem;
$font-h1: 2rem;
$font-h2: 1.8rem;
$font-h3: 1.3rem;
$font-h4: 1rem;
$font-h5: 0.9rem;
$font-h6: 0.85rem;
h1{
font-size:2.5rem;
font-size:2rem;
@media(max-width:$screen-xs){
font-size:2rem;
}
}
h2{
font-size: 2rem;
font-size: 1.8rem;
@media(max-width:$screen-xs){
font-size:1.8rem;
}
}
h3{
font-size:1.8rem;
font-size:1.3rem;
@media(max-width:$screen-xs){
font-size:1.3rem;
}
}
h4{
font-size: 1.5rem;
font-size: 1rem;
@media(max-width:$screen-xs){
font-size:1rem;
}
}
h5{
font-size: 1.2rem;
font-size: 0.9rem;
}
h6{
font-size: 1rem;
font-size: 0.85rem;
}
// $font-h1: 1.8rem;
// $font-h2: 1.5rem;

View File

@ -9,12 +9,11 @@
.verticalhome{
position: relative;
width: 100%;
background-color: #F8F9FA;
overflow: hidden;
}
.internal-page{
.layout-content{
background: #F8F9FA;
background: transparent;
padding-bottom: 4em;
}
}
@ -130,3 +129,70 @@
.image-carousel{
padding: 15px 0px 25px 0px;
}
.downIcon {
a{
bottom: 0;
position: absolute;
left: 0;
right: 0;
top: 0;
}
position: absolute;
left: 48.8%;
bottom: 10%;
z-index:2;
display: block;
cursor: pointer;
@media(max-width:$screen-xs){
left: 45%;
}
&:hover{
transform:scale(1.1);
-webkit-transition: .3s ease-out;
-moz-transition: .3s ease-out;
-ms-transition: .3s ease-out;
-o-transition: .3s ease-out;
transition: .3s ease-out;
}
width: 3px;
padding: 10px 15px;
height: 35px;
border: 2px solid #fff;
border-radius: 25px;
opacity: 0.75;
box-sizing: content-box;
animation: move 3s ease-out 1s infinite;
}
.scroller {
width: 3px;
height: 10px;
border-radius: 25%;
background-color: #fff;
animation-name: scroll;
animation-duration: 2.2s;
animation-timing-function: cubic-bezier(.15,.41,.69,.94);
animation-iteration-count: infinite;
}
@keyframes scroll {
0% { opacity: 0; }
10% { transform: translateY(0); opacity: 1; }
100% { transform: translateY(15px); opacity: 0;}
}
@keyframes move {
25% {
opacity: 1;
}
33% {
opacity: 1;
transform: translateY(30px);
}
67% {
opacity: 1;
transform: translateY(40px);
}
100% {
opacity: 0;
transform: translateY(55px) scale3d(0.5, 0.5, 0.5);
}
}

View File

@ -3,12 +3,17 @@
@import "../initial";
.layout-footer {
z-index: 1;
clear: both;
background:#1a1b20;
position: relative;
padding: 2em 0;
color: $theme-color-main;
font-size: 0.8125em;
.footer-updated-date{
clear: both;
padding-left: 1em;
}
ul{
padding: 0;
}
@ -54,6 +59,8 @@
font-size: 0.8125em;
border: #e0e0e0 1px solid;
padding: 0.5em 1em;
display: inline-block;
margin-bottom: 1em;
}
.fatfooter{
display: none;

View File

@ -1,13 +1,20 @@
@charset "utf-8";
@import "../initial";
.fc-cal-date-selected-fusion {
font-size: 1em!important;
}
.outdropdowns{
position: relative;
z-index: 1;
padding: 0.5em 0;
}
.dropdowns{
padding: 0;
}
.header-nav {
ul{
padding: 0;
padding: 0;
}
@media(max-width: 769px){
ul{
@ -25,7 +32,8 @@
outline: 0.3125em auto -webkit-focus-ring-color !important;
}
.layout-header {
z-index: 2;
width: 100%;
z-index: 10;
position: relative;
margin-bottom: 0;
border: none;
@ -45,13 +53,19 @@
}
.header-banner { overflow: hidden; }
.header-nav {
padding:1em 0 0 0;
color: $theme-color-main;
font-family: $main-font;
text-transform:uppercase;
display: flex;
align-items: center;
justify-content: flex-end;
background: #f5f5f5;
padding:0;
>.container{
color: $theme-color-main;
font-family: $main-font;
text-transform:uppercase;
display: flex;
align-items: center;
justify-content: flex-end;
padding-right: 0.9375em;
padding-left: 0.9375em;
}
@media(max-width: 820px){
justify-content: space-between;
padding:0;
@ -67,17 +81,16 @@
padding: 0;
margin-top: 0;
margin-bottom: 0;
color: $theme-color-main;
}
a {
color: $theme-color-main;
text-decoration: none;
padding: 15px;
font-size: 0.85em;
}
@media (min-width:1025px) {
margin-bottom: -4em;
// margin-bottom: -4em;
position: relative;
}
}
@ -98,7 +111,6 @@
// flex-flow: row-reverse;
// }
.navbar-brand {
margin: 0.5em 0;
line-height: 2.125em;
color: $theme-color-main;
font-family: $main-font;
@ -108,13 +120,11 @@
@media (min-width: $screen-sm) {
margin:0;
line-height: 3.75em;
font-size: 1.5em;
h1{
margin-top: 1em;
font-size: 1.2em;
display: flex;
align-items: center;
color: #155E75;
color:#1a66b1;
font-weight: bold;
}
}
@ -145,6 +155,7 @@
float: left;
height: 60px;
padding-right: 0.5em;
width: auto!important;
@media(min-width: 1024px){
height: 60px;
}
@ -152,7 +163,7 @@
height: 50px !important;
}
@media(max-width: 820px)and(min-width:$screen-xs ){
height: 60px!important;
height: 50px!important;
}
}
}
@ -160,8 +171,9 @@
}
.navbar-toggle {
padding: 0.875em 0.625em;
margin-top: 1em;
position: absolute;
right: 0;
// border-radius: 0.125em;
// border-width: 0.125em;
// border-color: lighten($theme-color-main, 30%);
@ -219,7 +231,7 @@
}
.outdropdowns{
.dropdowns{
position: static!important;
}
}
.nav-menu{

View File

@ -5,7 +5,7 @@
.layout-slide {
position: relative;
overflow: hidden;
z-index: 0;
z-index: 0;
.w-ad-banner {
margin: auto;
}

View File

@ -8,6 +8,10 @@
// Widget
// ## gerenral styles
ul.button-mid{
margin:0;
z-index: 101;
}
.banner-pager .active-slide button{
background: $theme-color-second!important;
}
@ -18,8 +22,6 @@ iframe{
border:0;
}
.w-ba-banner {
position: relative;
height: fit-content !important;
.cursor {
cursor: pointer;
}
@ -232,12 +234,15 @@ ul.button-mid{
z-index: 102;
display: none;
}
.button-mid{
z-index: 101;
}
.ad-overlay{
text-align: center;
position: relative;
background: none;
color: #fff;
z-index: 99;
z-index: 100;
padding-left: 10%;
padding-right: 10%;
// text-shadow: 1px 1px 1px #0000008c;
@ -246,7 +251,7 @@ ul.button-mid{
position: fixed;
top:0;
@media(max-width: 1500px){
width: auto;
// width: auto;
max-width: unset;
// transform: translateX(-9%);
height: 100vh;
@ -255,25 +260,25 @@ ul.button-mid{
&,& .jp-jplayer{
@media(min-width:1801px){
.ad-overlay{
bottom: 20%;
bottom: 50%;
position: absolute;
}
}
@media screen and (min-width:1451px) and (max-width:1800px){
.ad-overlay{
bottom: 20%;
bottom: 50%;
position: absolute;
}
}
@media screen and (min-width:1281px) and (max-width:1450px){
.ad-overlay{
bottom: 20%;
bottom: 50%;
position: absolute;
}
}
@media screen and (min-width:1026px) and (max-width:1280px){
.ad-overlay{
bottom: 20%;
bottom: 40%;
position: absolute;
}
}
@ -440,6 +445,7 @@ ul.button-mid{
}
// Widget 7
.ba-banner-widget-7 {
position: relative;
@media(min-width:1024px){
display: flex;
flex-direction: row-reverse;
@ -508,3 +514,88 @@ ul.button-mid{
}
}
}
// widget9
.ba-banner-widget-9{
iframe{
border-radius: 2em;
border:1px solid #fff;
padding: 10px;
background: #4cae4c8c;
&:hover{
transform: translate(-10px, -10px);
transition: .5s;
box-shadow: 30px 30px 60px #0000008a;
}
}
&::before{
position: absolute;
content: '';
width: 60%;
height: 100%;
background: linear-gradient(to right, $theme-color-second 0%, #03162700 100%);
display: block;
z-index: 100;
@media(max-width:768px){
}
}
height: 90vh !important;
.w-ba-banner__slide{
-webkit-filter: brightness(50%);
filter: brightness(50%);
position: fixed!important;
}
.w-ba-banner__wrap{
height: 90vh !important;
}
.jp-jplayer{
position: fixed;
}
.jp-video{
height: 90vh !important;
}
.banner-overlay{
background: none!important;
z-index:100;
position: absolute;
@media(min-width:769px){
padding-bottom: 24vh!important;
}
@media(max-width: 768px){
position: absolute!important;
padding-bottom:16vh !important;
}
}
.banner-overlay{
color: #fff;
padding: 3.5em 5em;
background-image: linear-gradient(180deg, transparent 0, #00000066 40%, #000);
.ad-overlay2{
margin: 0 3em;
}
}
.w-ba-banner__caption {
h2 {
font-family: $main-font;
font-size: $w-caption-font-size;
margin: 0.5em 0;
}
p {
font-family: $main-font;
font-size: $w-caption-desc;
}
}
@media(max-width: $screen-sm) {
.ad-overlay {
padding:1em;
position: relative;
background: #333333;
}
.controlplay {
right: 0;
a { padding: 0 5px;}
a i { font-size: 0.75em; }
}
}
}

View File

@ -74,6 +74,7 @@
z-index: 1;
.w-annc__widget-title {
@extend .unity-title;
display: block;
}
.w-annc__list {
@ -1017,6 +1018,9 @@
}
// Widget-24
.widget-announcement-24 {
.w-annc__widget-title{
display: block;
}
.cycle-carousel-wrap{
display: flex;
align-items: baseline;
@ -1282,6 +1286,292 @@
transition: height .6s;
}
}
//widget-25
.widget-announcement-25 {
.w-annc__widget-title{
span{
display: block;
}
}
.w-annc__more-wrap{
display: flex;
justify-content: center;
}
.btn-right,.btn-left{
&:hover{
background: #e5e5e5!important;
}
}
@media(min-width:1024px){
.prevnext{
width: 8% !important;
left: 10%;
}
display: flex;
flex-wrap: wrap;
.w-annc__more-wrap{
width:29%;
display: flex;
justify-content: center;
}
.w-annc__list{
width:71%;
}
}
.w-annc__item{
padding: 0;
margin-right: 1em;
overflow: hidden;
position: relative !important;
@media(max-width: $screen-xs){
width: 100% !important;
}
@media(min-width: 1600px){
height: 28em;
.w-annc__img-wrap{
height: 28em;
}
}
@media(min-width: $screen-xs)and(max-width: 1599px){
height: 20em;
.w-annc__img-wrap{
height: 20em;
}
}
@media(max-width: $screen-xs){
height: 20em;
.w-annc__img-wrap{
height: 20em;
}
}
}
.w-annc__item{
box-shadow:none!important;
-webkit-box-shadow:none!important;
}
.w-annc__entry-title{
margin: 0;
width: 100%;
}
.w-annc__meta i{
color: #fff!important;
}
.w-annc__list{
display: flex;
justify-content: center;
}
.w-annc__postdate-wrap{
color: #fff!important;
}
.w-annc__status-wrap{
color: #fff!important;
}
.w-annc__category-wrap{
color: #fff!important;
}
.w-annc__title{
color: #fff;
}
.w-annc__title {
font-family: $main-font;
white-space: normal;
}
.w-annc__widget-title { text-align: center; }
.w-annc__more { margin-top: 1.5em; }
.w-annc__list > .w-annc__item:nth-child(3n+1) {
clear: both;
}
.w-annc__img-wrap {
margin:0;
height: auto;
}
.w-annc__content-wrap{
padding: 1.5em;
div{
display: -webkit-box;
overflow: hidden;
text-overflow: ellipsis;
-webkit-box-decoration-break: clone;
box-decoration-break: clone;
-webkit-line-clamp: 3;
-webkit-box-orient: vertical;
}
}
.clearfix{
// text-align: center;
// display: flex;
// justify-content: center;
}
.w-annc__subtitle {
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
overflow: hidden;
text-overflow: ellipsis;
}
.w-annc__content-wrap {
display: inline-block;
&:after {
content: '';
display: block;
margin-top: 5px;
height: 4px;
width: 0;
background: transparent;
transition: width .5s ease, background-color .5s ease;
}
}
.w-annc__item{
-webkit-transition: .3s all ease;
-o-transition: .3s all ease;
transition: .3s all ease;
padding-bottom: 1em;
@media(min-width: $screen-lg){
width:382px !important;
}
@media(max-width: 1025px)and(min-width: 821px){
width: 30.5vw !important;
}
@media(max-width: 820px)and(min-width: 768px){
width: 356px!important;
}
@media (max-width: $screen-xs) {
width: 93.5vw !important;
margin-left: 0 !important;
margin-right: 1em !important;
}
&:hover{
-webkit-transition: all .3s ease;
-moz-transition: all .3s ease;
-ms-transition: all .3s ease;
-o-transition: all .3s ease;
transition: all .3s ease;
.w-annc__content-wrap:after{
width: 100%;
background: #f2f2f2;
}
}
}
.w-annc__item{
&:hover{
-webkit-transform: translateY(-6px);
-ms-transform: translateY(-6px);
transform: translateY(-6px);
.card{
top: 0;
display: flex;
align-items: end;
flex-wrap: wrap;
}
.w-annc__img-wrap{
box-shadow: 0 12px 24px #0000004d, 0 10px 10px #00000033;
-webkit-box-shadow: 0 12px 24px #0000004d, 0 10px 10px #00000033;
}
img{
transform: scale(1.2)!important;
-webkit-transition: .3s ease-out;
-moz-transition: .3s ease-out;
-ms-transition: .3s ease-out;
-o-transition: .3s ease-out;
transition: .3s ease-out;
}
.transitionfade{
height: inherit;
position: absolute;
top: 0;
bottom: 0;
left: 0;
right: 0;
background-color: rgba(0,0,0,.4);
-webkit-transition: .3s ease-out;
-moz-transition: .3s ease-out;
-ms-transition: .3s ease-out;
-o-transition: .3s ease-out;
transition: .3s ease-out;
}
}
}
.w-annc__subtitle{
color: #fff;
font-size: 1rem;
display: -webkit-box;
overflow: hidden;
text-overflow: ellipsis;
-webkit-box-decoration-break: clone;
box-decoration-break: clone;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
max-height: 0;
opacity: 0;
-webkit-transition: max-height .6s,opacity .6s;
transition: max-height .6s,opacity .6s;
@media(min-width:1920px){
font-size: 1.2em;
}
}
.w-annc__item{
padding: 0;
margin-right: 0.5em;
margin-left: 0.5em;
overflow: hidden;
position: relative !important;
@media(min-width: 1600px){
height: 28em;
.w-annc__img-wrap{
height: 28em;
}
}
@media(min-width: $screen-xs)and(max-width: 1599px){
height: 20em;
.w-annc__img-wrap{
height: 20em;
}
}
}
li{
&:hover{
.card:before{
height:100%;
}
.w-annc__subtitle{
max-height: 100px;
opacity: 1;
}
}
position: relative;
}
.card{
position: absolute;
z-index:0;
padding: 20px 25px;
bottom: 0;
left: 0;
background-color: transparent;
background-image: -webkit-gradient(linear, left top, left bottom, color-stop(32%, #ffffff00), color-stop(89%, #00000080));
background-image: linear-gradient(
180deg
, #ffffff00 32%, #00000080 89%);
width: 100%;
}
.card:before{
content: "";
position: absolute;
bottom: 0;
left: 0;
width: 100%;
height: 8px;
background-color: #00356aab;
z-index: -1;
-webkit-transition: height .6s;
transition: height .6s;
}
}
// Widget-5
.widget-announcement-5 {
.w-annc__title {
@ -1758,7 +2048,7 @@
}
.w-annc__item{
@media(min-width: 769px){
width: calc(33.3333% - 1em);
width: calc(33.3333% - 2em);
}
@media (min-width: $screen-xs) {
margin-right: 0.5em;
@ -2046,14 +2336,6 @@
}
}
.i-annc__img {
width: 100%;
max-width: 100%;
height: auto;
}
.i-annc__table{
}
.i-annc__th {
color: $theme-color-main;
@extend .i-title;

View File

@ -0,0 +1,62 @@
@charset "utf-8";
@import "../initial";
#ticket-status-form{
background-color: #fdfdfd;
padding: 2em;
border-radius: 10px;
border: 1px solid #E4E6EA;
label{
width: 100%;
}
}
.CheckHistory{
margin-top: 1em;
padding: 0.5em;
border-radius: 0.5em;
margin-bottom: 1em;
font-size: 0.8125rem;
-webkit-transition: all 200ms cubic-bezier(0.39, 0.5, 0.15, 1.36);
-moz-transition: all 200ms cubic-bezier(0.39, 0.5, 0.15, 1.36);
-ms-transition: all 200ms cubic-bezier(0.39, 0.5, 0.15, 1.36);
-o-transition: all 200ms cubic-bezier(0.39, 0.5, 0.15, 1.36);
transition: all 200ms cubic-bezier(0.39, 0.5, 0.15, 1.36);
background: none;
border: none;
color: $theme-color-main;
box-shadow: $theme-color-main 0 0px 0px 2px inset;
&:hover {
color: #fff;
box-shadow:$theme-color-main 0 0px 0px 40px inset;
}
}
#new-ask-question{
clear: both;
}
.CheckStatus{
@media(min-width: 1025px){
right: 20%;
position: relative;
}
float: right;
padding: 0.5em;
border-radius: 0.5em;
margin-bottom: 1em;
font-size: 0.8125rem;
-webkit-transition: all 200ms cubic-bezier(0.39, 0.5, 0.15, 1.36);
-moz-transition: all 200ms cubic-bezier(0.39, 0.5, 0.15, 1.36);
-ms-transition: all 200ms cubic-bezier(0.39, 0.5, 0.15, 1.36);
-o-transition: all 200ms cubic-bezier(0.39, 0.5, 0.15, 1.36);
transition: all 200ms cubic-bezier(0.39, 0.5, 0.15, 1.36);
background: none;
border: none;
color:#337ab7!important;
box-shadow: #337ab7 0 0px 0px 2px inset;
&:hover {
color: #fff!important;
box-shadow:#337ab7 0 0px 0px 40px inset;
}
}

View File

@ -268,7 +268,7 @@
}
}
.form-horizontal{
@media(min-width:769px){
@media(min-width:1025px){
margin: auto;
width: 60%;
}

View File

@ -844,6 +844,341 @@
display: inline-block;
}
}
// Index-21
.index-eventnews-21 {
.i-annc__postdate-wrap{
display: flex !important;
align-items: center;
}
.speakercss{
font-size: 0.8rem;
}
.i-annc__postdate{
font-size: 0.8rem;
}
.viewcss{
opacity: 0;
}
.i-annc__category-wrap{
display: none;
}
.i-annc__meta{
justify-content: center;
}
.i-annc__post-notes{
color: #fff;
}
.cycle-carousel-wrap{
display: flex;
align-items: baseline;
}
.i-annc__entry-title{
margin: 0;
}
.i-annc__meta i{
color: #fff!important;
}
.i-annc__list{
display: flex;
justify-content: center;
flex-wrap: wrap;
}
.i-annc__postdate-wrap{
color: #fff!important;
}
.i-annc__status-wrap{
color: #fff!important;
}
.i-annc__category-wrap{
color: #fff!important;
}
.i-annc__title{
color: #fff;
}
.i-annc__title {
font-family: $main-font;
}
.i-annc__widget-title { text-align: center; }
.i-annc__more { margin-top: 1.5em; }
.i-annc__list > .i-annc__item:nth-child(3n+1) {
clear: both;
}
.i-annc__img-wrap {
margin:0;
height: auto;
}
.i-annc__content-wrap{
padding: 1.5em;
// div{
// display: -webkit-box;
// overflow: hidden;
// text-overflow: ellipsis;
// -webkit-box-decoration-break: clone;
// box-decoration-break: clone;
// -webkit-line-clamp: 3;
// -webkit-box-orient: vertical;
// }
}
.clearfix{
// text-align: center;
// display: flex;
// justify-content: center;
}
.i-annc__post-notes,.i-annc__meta,.speakercss,.hostcss{
color: #fff;
max-height: 0;
opacity: 0;
-webkit-transition: max-height .6s,opacity .6s;
transition: max-height .6s,opacity .6s;
}
.i-annc__content-wrap {
display: inline-block;
text-align: center;
// &:after {
// content: '';
// display: block;
// margin-top: 5px;
// height: 4px;
// width: 0;
// background: transparent;
// transition: width .5s ease, background-color .5s ease;
// }
}
.i-annc__item{
-webkit-transition: .3s all ease;
-o-transition: .3s all ease;
transition: .3s all ease;
padding-bottom: 1em;
@media (max-width: $screen-xs) {
margin: 0;
margin-bottom: 1em;
}
&:hover{
-webkit-transition: all .3s ease;
-moz-transition: all .3s ease;
-ms-transition: all .3s ease;
-o-transition: all .3s ease;
transition: all .3s ease;
// .i-annc__content-wrap:after{
// width: 100%;
// background: #f2f2f2;
// }
}
}
.i-annc__item{
&:hover{
-webkit-transform: translateY(-6px);
-ms-transform: translateY(-6px);
transform: translateY(-6px);
.card{
height:100%;
display: flex;
justify-content: center;
align-items: center;
}
.i-annc__img-wrap{
box-shadow: 0 12px 24px #0000004d, 0 10px 10px #00000033;
-webkit-box-shadow: 0 12px 24px #0000004d, 0 10px 10px #00000033;
}
img{
// transform: scale(1.2)!important;
// -webkit-transition: .3s ease-out;
// -moz-transition: .3s ease-out;
// -ms-transition: .3s ease-out;
// -o-transition: .3s ease-out;
// transition: .3s ease-out;
}
.transitionfade{
height: inherit;
position: absolute;
top: 0;
bottom: 0;
left: 0;
right: 0;
background-color: rgba(0,0,0,.4);
-webkit-transition: .3s ease-out;
-moz-transition: .3s ease-out;
-ms-transition: .3s ease-out;
-o-transition: .3s ease-out;
transition: .3s ease-out;
}
}
}
.i-annc__subtitle{
margin-bottom: 0;
margin-top: 0.7em;
margin-bottom: 0.7em;
color: #fff;
font-size: 0.8rem;
display: -webkit-box;
overflow: hidden;
text-overflow: ellipsis;
-webkit-box-decoration-break: clone;
box-decoration-break: clone;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
max-height: 0;
opacity: 0;
-webkit-transition: max-height .6s,opacity .6s;
transition: max-height .6s,opacity .6s;
@media(min-width:1920px){
font-size: 1.2em;
}
}
.i-annc__img-wrap {
img{
// height: 100% !important;
width:100%!important;
@media(max-width:767px){
}
}
}
.i-annc__item{
padding: 0;
margin-right: 0.5em;
margin-left: 0.5em;
margin-bottom: 1em;
overflow: hidden;
position: relative !important;
@media(min-width:768px){
&:nth-child(3n + 1),
&:nth-child(3n + 4),
&:nth-child(3n + 5) {
width: calc(100% / 3 - 1em) !important;
}
&:nth-child(3n + 2),
&:nth-child(3n + 3),
&:nth-child(3n + 6) {
width: calc(200% / 3 - 1em) !important;
}
}
@media(max-width:767px){
&:nth-child(2){
width: calc(100% / 2 - 1em) !important;
margin-right: 0.5em;
}
&:nth-child(3){
width: calc(100% / 2 - 1em) !important;
margin-left: 0.5em;
}
}
@media(max-width: $screen-xs){
width: 100% !important;
}
@media(min-width: 1100px){
height: 17em;
.i-annc__img-wrap{
height: 17em;
}
}
@media(min-width: 821px)and(max-width: 1100px){
height: 17em;
.i-annc__img-wrap{
height: 17em;
}
}
@media(min-width: $screen-xs)and(max-width: 820px){
height: 15em;
.i-annc__img-wrap{
height: 15em;
}
}
@media(max-width: $screen-xs){
height: 20em;
.i-annc__img-wrap{
height:20em;
}
}
}
li{
&:hover{
.card:before{
height:200%;
}
.i-annc__subtitle{
max-height: 100px;
opacity: 1;
}
.i-annc__post-notes,.i-annc__meta,.speakercss,.hostcss{
max-height: 100px;
opacity: 1;
}
.viewcss{
opacity: 1;
}
}
position: relative;
}
.card{
position: absolute;
z-index:0;
padding: 0;
bottom: 0;
left: 0;
background-color: transparent;
background-image: -webkit-gradient(linear, left top, left bottom, color-stop(32%, #ffffff00), color-stop(89%, #00000080));
background-image: linear-gradient(
180deg
, #ffffff00 32%, #00000080 89%);
width: 100%;
@media(max-width:$screen-xs){
padding: 10px;
}
}
.card:before{
content: "";
position: absolute;
bottom: 0;
left: 0;
width: 100%;
height: 8px;
background: linear-gradient(180deg, transparent, #000);
z-index: -1;
-webkit-transition: height .6s;
transition: height .6s;
}
.i-annc__list {
display: flex;
flex-wrap: wrap;
justify-content: center;
}
.i-annc__title {
font-family: $main-font;
}
.i-annc__list > .i-annc__item {
margin-right: 0.5em;
margin-left: 0.5em;
@media (max-width:767px) {
width: calc( 100%/2 - 1.25em );
min-height: unset;
}
@media (max-width: $screen-xs) {
width: 100%!important;
}
}
.i-annc__list > .i-annc__item:nth-child(3n+1) {
clear: both;
}
.i-annc__img-wrap {
overflow: hidden;
height: 12.5em;
margin: 0 0 1em 0;
img {
@media (max-width:767px) {
transform: scale(1) !important;
}
}
}
}
.widget-event-news-calendar-2.w-calendar .w-calendar-title{
background:$theme-color-second;
}

View File

@ -2,9 +2,21 @@
@import "../initial";
.index-pic{
overflow: hidden;
padding: 0;
.img-thumbnail{
width: 100%;
}
&:hover{
img{
transform: scale(1.15) !important;
-webkit-transition: .3s ease-out;
-moz-transition: .3s ease-out;
-ms-transition: .3s ease-out;
-o-transition: .3s ease-out;
transition: .3s ease-out;
}
}
}
// Gallery MODULES
.widget-gallery {
@ -163,7 +175,7 @@
}
}
.index-content {
padding: 1.5625em 0.9375em;
padding: 1em;
background: lighten($theme-gray, 60%);
margin-bottom: 1.25em;
border-radius: 0.125em;
@ -176,7 +188,7 @@
}
.index-content-inner {
margin-bottom: 1.5625em;
}
.index-img {
@ -208,7 +220,7 @@
.img-thumbnail{
width: 100%;
border: 0;
transform: scale(1.6);
padding: 0;
&:hover{
transform: scale(2);
-webkit-transition: .3s all ease;

View File

@ -361,6 +361,86 @@
.i-member-profile-item {
font-size: 1em;
letter-spacing: 1px;
}
.i-member-title { display: none; }
.i-member-item:nth-child(4n+1) {
clear: both;
}
.i-member-pic-wrap {
padding: 0;
}
}
//index 8
.index-member-8 {
.member-data-value-name,.member-data-value-2{
white-space: unset!important;
}
.i-member-item{
background-color: transparent!important;
}
.i-member-section {
margin: auto;
}
.i-member-list {
display: flex;
flex-flow: row wrap;
margin: 0;
}
.i-member-item {
float: none;
padding: 15px;
@media (max-width:1280px) {
width: calc( 100% / 3 );
}
@media (max-width:767px) {
width: calc( 100% / 2 );
}
@media (max-width:580px) {
width: 100%;
}
}
.i-member-item-inner {
height: auto !important;
display: block;
}
.i-member-status-title {
@extend .unity-title;
}
.i-member-item-inner {
background: #fff;
border-radius: 0.8em;
overflow: hidden;
padding: 0 0 1em;
}
.i-member-profile-data-wrap {
height: 3em;
padding: 0 2em;
}
.i-member-pic-wrap {
height:12em;
margin-bottom: 16px;
}
.i-member-pic {
width: 100%;
}
.i-member-profile-list {
@include list-reset;
word-break: break-all;
text-align: center;
}
.i-member-profile-item {
font-size: 0.8em;
line-height: 1.3;
padding-top: 0.5em;
letter-spacing: 1px;

View File

@ -3,6 +3,12 @@
@import "../initial";
// 選單樣式2
.modules-menu .modules-menu-level-1 > li:hover, .modules-menu .modules-menu-level-1 > li.hover-class{
background-color: transparent!important;
>a{
text-decoration: underline;
}
}
.modules-menu{
@media (min-width: $screen-sm){
li{
@ -24,7 +30,6 @@
min-width:unset;
flex-wrap: wrap;
justify-content: flex-start;
left:0!important;
display: flex!important;
visibility: hidden;
opacity: 0;
@ -188,21 +193,20 @@
.modules-menu-level-0 {
width: 100%;
padding: 0;
// @media (min-width:769px)and(max-width: 1025px){
// display: flex;
// flex-wrap: wrap;
// justify-content: flex-end;
// padding: 0;
// width: 100%;
// }
@media (min-width:769px) {
@media (min-width:769px)and(max-width: 1024px){
display: flex;
flex-wrap: wrap;
justify-content:space-between;
padding: 0;
width: 100%;
}
@media (min-width:1025px) {
margin: 0;
padding:0.5em 0 0;
list-style: none;
display: flex;
flex-wrap: wrap;
justify-content: flex-end;
width: 70%;
width: 65%;
}
.has-dropdown.level-1.active {
.modules-menu-level-1 {
@ -310,9 +314,17 @@
}
}
@media (min-width: $screen-sm)and(max-width: 1439px){
.modules-menu-level-1 {
right: 0;
&:last-child{
.modules-menu-level-1 {
right: 0;
}
}
&:nth-last-child(2){
.modules-menu-level-1 {
right: 0;
}
}
}
@media (min-width: $screen-sm) {
margin: 0;
@ -381,7 +393,7 @@
left: auto;
@media(min-width:769px){
min-width: 200px;
width:fit-content;
width:max-content;
box-shadow: 2px 2px 5px #00000033;
margin:0;
transition-duration: 0.5s;
@ -407,9 +419,8 @@
}
&:hover {
background-color: $theme-color-second;
@media(max-width: 769px){
background-color: $theme-color-second;
a,i {
color: #fff;
}
@ -564,7 +575,7 @@
transition-property:transform;
}
.mobile-menu .modules-menu.collapse.in {
transform: translateX(100%);
transform: translateX(0%);
-webkit-transition-timing-function:ease;
-o-transition-timing-function:ease;
transition-timing-function:ease;
@ -578,7 +589,6 @@
.mobile-menu .collapse.navbar-collapse.modules-menu {
overflow-y: scroll;
transform: translateX(0%);
}
.display-on{
display:block!important;

View File

@ -32,6 +32,9 @@
.universal-table-index caption {
width: 100%;
position: relative;
@media(max-width:$screen-xs){
margin-top: 3em;
}
}
.universal-btn{
position: relative;
@ -89,12 +92,15 @@
}
}
}
.theadsearch .universal-th-icon, .theadsearch .universal-dropdown {
display: none !important;
}
.searchbtn{
cursor: pointer;
padding: 0;
position: absolute;
right:1em;
z-index:1;
z-index:2;
@media(max-width: $screen-xs){
margin-top: 0.5em;
right:0;
@ -127,6 +133,7 @@
background-color: $theme-color-second;
behavior: url("/assets/ie_support/PIE2/PIE.htc");
text-align: center;
border: 0;
&:hover{
background-color:$theme-color-third;
}
@ -159,6 +166,7 @@
display: flex;
flex-wrap: wrap;
padding: 0;
margin-top: 3em;
}
.row > div {
@ -197,7 +205,9 @@
}
.searchbox{
display: none;
margin-top: 6em;
margin-top: 1em;
z-index: 1;
position: relative;
.fa-search{
color: #333!important;
}
@ -207,9 +217,6 @@
}
.theadsearch{
width: 100%;
.universal-th-icon,.universal-dropdown{
display: none!important;
}
}
.column_entry_files{
padding-left:0;
@ -217,11 +224,16 @@
.column_entry_file{
list-style: none;
}
.ken-click2{
margin-top:-3em;
-webkit-transition: .3s all ease;
-o-transition: .3s all ease;
transition: .3s all ease;
// .ken-click2{
// margin-top:-3em;
// -webkit-transition: .3s all ease;
// -o-transition: .3s all ease;
// transition: .3s all ease;
// }
.submit-btn-wrap{
@media(min-width:769px){
margin-top: 3em;
}
}
.universal-table-index.table td{
padding: 15px 10px!important;

View File

@ -1,6 +1,9 @@
@charset "utf-8";
@import "../initial";
.i-annc__page-title{
@extend .unity-title;
}
.video_desc{
cite{
display: none;
@ -714,7 +717,7 @@
}
.video_linkwrapper{
position:relative;
height: 12em;
height: 13.5em;
overflow:hidden;
width: 100%;
img{
@ -754,7 +757,7 @@
height:13em;
}
@media(max-width:768px)and(min-width: 600px){
height: 12em;
height: 13.5em;
}
@media(max-width: $screen-xs){
height:13em;
@ -771,7 +774,7 @@
height: 23.5em;
}
@media(max-width: $screen-xs){
height: 12em;
height: 13.5em;
}
}
.video_linkwrapper2{
@ -791,7 +794,7 @@
height: 22.5em;
}
@media(max-width:$screen-xs){
height: 12em;
height: 13.5em;
}
}
.video_linkwrapper3{
@ -809,11 +812,11 @@
}
@media(max-width:768px)and(min-width:$screen-xs){
height: 12em;
height: 13.5em;
}
@media(max-width: $screen-xs){
height:12em;
height:13.5em;
}
}
.video_linkwrapper5{
@ -836,7 +839,7 @@
}
@media(max-width: $screen-xs){
height:12em;
height:13.5em;
}
}

View File

@ -34,7 +34,8 @@
.widget-content{
list-style: none;
@media(min-width: $screen-xs)and(max-width: 768px){
width: 50%
width: 50%!important;
margin:0 auto;
}
}
.widget-link__item{
@ -44,11 +45,12 @@
padding: 0;
}
.widget-content-title,.widget-content-context{
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-line-clamp: 3;
-webkit-box-orient: vertical;
overflow: hidden;
text-overflow: ellipsis;
white-space: normal;
}
.widget-link {
// layout-content 下的樣式
@ -92,9 +94,11 @@
}
}
&.widget2{
.link-img-wrap{
height: 14em;
}
.list-unstyled{
display: flex;
justify-content: center;
flex-wrap: wrap;
overflow: hidden;
li:nth-child(n+5){
@ -132,16 +136,23 @@
width: 20%;
padding: 2em;
text-align: center;
@media(max-width:1200px)and(min-width: 769px){
@media(max-width:1200px)and(min-width: 1025px){
padding: 1em !important;
}
@media(max-width:1024px){
@media(max-width:1024px)and(min-width: 769px){
width: 33.3% !important;
padding: 0.5em !important;
}
@media(max-width:$screen-xs){
width: 50% !important;
padding: 0.5em !important;
}
.link-img-wrap{
border-radius:10em;
width: 10em;
height: 10em;
overflow: hidden;
margin: auto;
&:hover{
border-radius:2em;
-webkit-transition: .3s all ease;
@ -177,13 +188,17 @@
}
}
}
&.widget8{
&.widget8{
.widget-content{
padding-top: 2em;
@media(max-width:$screen-xs){
width: 100%;
}
}
.link-img-wrap{
border-radius: 2em;
overflow: hidden;
height: 20em;
&:hover{
img{
transform: scale(1.2) translateY(-1%);
@ -196,7 +211,107 @@
img{
width: 100%;
}
}
&.widget9{
margin-bottom: 2em;
margin-top: 2em;
.list-unstyled{
display: flex;
justify-content: center;
flex-wrap: wrap;
li:nth-child(n+16){
display: none;
}
}
.hex-border {
width: 95%;
height: 95%;
background: #f8f8f8;
color: #6D6D6D;
display: flex;
justify-content: center;
align-items: center;
text-align: center;
clip-path: inherit;
transition: background 0.4s ease;
font-weight: bold;
border-radius: 100%;
}
.widget-content {
// clip-path: polygon(
// 25% 5.77%,
// 75% 5.77%,
// 100% 50%,
// 75% 94.23%,
// 25% 94.23%,
// 0% 50%
// );
width: 10em!important;
height: 10em;
border-radius: 100%;
background: #d7d7d7; /* 邊框顏色 */
display: flex;
justify-content: center;
align-items: center;
margin: 1em;
transition: transform 0.4s ease;
&:hover{
transform: rotate(45deg);
background:$theme-color-second;
}
@media(max-width:$screen-xs){
width: 8em!important;
height: 8em;
}
&:hover{
.hex-border{
background:linear-gradient(180deg, $theme-color-second 0, #e8f6ff 100%);
}
background:$theme-color-second;
-webkit-transition: .3s all ease;
-o-transition: .3s all ease;
transition: .3s all ease;
-webkit-transform:rotate(15deg) translateY(-6px);
-ms-transform: rotate(15deg) translateY(-6px);
transform:rotate(15deg) translateY(-6px);
}
@media(max-width:1200px)and(min-width: 769px){
padding: 1em !important;
}
.link-img-wrap{
border-radius:10em;
overflow: hidden;
&:hover{
border-radius:2em;
-webkit-transition: .3s all ease;
-o-transition: .3s all ease;
transition: .3s all ease;
}
}
& + .widget-content {
}
.widget-content-title {
padding:0 0.5em;
border-radius: 0.5em;
color: #333;
font-weight: bold;
text-align: center;
width: fit-content;
margin: auto;
@media(max-width: 768px){
width: auto;
padding: 0.2em 0.5em;
display: -webkit-box;
-webkit-line-clamp: 2;
line-height: normal;
}
}
}
}
}
// Link INDEX

View File

@ -1,4 +1,3 @@
@import url("http://fonts.googleapis.com/css?family=Droid+Sans:400,700");
// Base
@import "base/orbitbar-override";
@ -22,7 +21,27 @@
//RWD
@import "RWD";
.visually-hidden{
position: absolute;
width: 1px;
height: 1px;
padding: 0;
margin: -1px;
overflow: hidden;
clip: rect(0, 0, 0, 0);
white-space: nowrap;
border: 0;
}
.sr-only{
position: absolute;
width: 1px;
height: 1px;
padding: 0;
margin: -1px;
overflow: hidden;
clip: rect(0, 0, 0, 0);
border: 0;
}
.dropdown-toggle:focus {
// outline: 2px solid #43B5FC;
@ -193,10 +212,9 @@ ul.tab_nav {
padding: 0.5em;
}
.black-screen-social-window .content-social .social_wrap i{
font-size: 2em;
font-size: 1.5em;
}
.black-screen-social-window.reactable .content-social .social_wrap > div{
width: 3.3em;
line-height: unset;
}
.black-screen-social-window.reactable .content-social .social_wrap > div:hover, .black-screen-social-window.reactable .content-social .social_wrap > div.hover-class{
@ -211,7 +229,21 @@ ul.tab_nav {
padding-bottom:0;
}
.black-screen-social-window{
border-radius: 0!important;
-webkit-backdrop-filter: saturate(180%) blur(20px);
backdrop-filter: saturate(180%) blur(20px);
background-color: #ffffffa6!important;
min-width: fit-content;
border:0!important;
padding: 0;
ul{
margin-top: 60px;
width: 40px;
padding: 0;
}
li{
list-style: none;
}
}
.table-bordered{
border: 0;
@ -475,13 +507,13 @@ ul.tab_nav {
table td{
border: 1px solid #ddd!important;
@media (max-width: 480px) {
width: 100%;
width: auto!important;
text-align: center;
}
}
td,th{
@media(max-width: $screen-xs){
width: 100%;
width: auto!important;
text-align: center;
}
}
@ -560,7 +592,7 @@ table.dataTable>tbody>tr.child{
}
@media(max-width: $screen-xs){
tr{
display: table-row!important;
display: table-row;
}
}
}
@ -669,13 +701,18 @@ table.dataTable>tbody>tr.child{
}
}
}
//內頁搜尋樣式
input.search_box{
background: #fff!important;
border: 1px solid #bbb!important;
color: #333!important;
background: #fff !important;
border: 1px solid #bbb !important;
color: #333 !important;
padding: 0.5em !important;
margin-right: 0.5em !important;
border-radius: 0.5em!important;
margin-right: 0.25em !important;
border-radius: 0.5em !important;
margin-left: 0.25em !important;
@media(max-width:1024px){
margin-top: 0.5em !important;
}
}
::placeholder {
color: #333!important;
@ -685,6 +722,10 @@ input.search_box{
background: #fff!important;
color: #333!important;
margin-right: 0.5em!important;
@media(max-width:1024px){
margin-left: 0.25em !important;
margin-top: 0.5em !important;
}
}
#category_select_box>option{
background: #fff!important;
@ -725,6 +766,7 @@ a.ui-state-default{
border: 0!important;
background: silver!important;
}
.aligncenter{
display: flex;
align-items: center;
@ -835,4 +877,4 @@ hr{
}
.video_tablist a{
background-color: #a2a2a2!important;
}
}

View File

@ -1,6 +1,10 @@
@charset "utf-8";
@import "../initial";
.sitemenu{
z-index: 1;
position: relative;
}
.sitemenu-wrap{
// padding-right: 0.9375em!important;
// padding-left: 0.9375em!important;

View File

@ -19,22 +19,24 @@
</div>
<header class="navbar layout-header no-print" role="navigation">
<div class="outdropdowns">
<div class="outdropdowns kenjohn">
<div class="container dropdowns">
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#layout-navigation">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar icon-bar-top"></span>
<span class="icon-bar icon-bar-middle"></span>
<span class="icon-bar icon-bar-bottom"></span>
</button>
<a title="{{site_title_1}}" class="navbar-brand" href="{{home_link_1}}"><img class="site-logo" src="{{logo_url_1}}" alt="site-logo"></a>
<script>$(document).ready(function(){var url =$('.site-logo').eq(0).attr('src');if(url == "/assets/default-site-logo.png"){$('.navbar-brand').eq(0).remove();};if($('.navbar-brand').length == 2){$('.site-logo').css('height','auto')};$('.site-logo').eq(0).css('margin-right',0);$('.navbar-brand').css('padding-right',0)})</script>
<a title="{{site_title}}" class="navbar-brand" href="{{home_link}}"><img class="site-logo" src="{{logo_url}}" alt="site-logo"> {{site_name}}</a>
</div>
<a title="{{site_title_1}}" class="navbar-brand" href="{{home_link_1}}"><img class="site-logo" src="{{logo_url_1}}" alt="site-logo"></a>
<script>$(document).ready(function(){var url =$('.site-logo').eq(0).attr('src');if(url == "/assets/default-site-logo.png"){$('.navbar-brand').eq(0).remove();};if($('.navbar-brand').length == 2){$('.site-logo').css('height','auto')};$('.site-logo').eq(0).css('margin-right',0);$('.navbar-brand').css('padding-right',0)})</script>
<a title="{{site_title}}" class="navbar-brand" href="{{home_link}}"><img class="site-logo" src="{{logo_url}}" alt="site-logo"> {{site_name}}</a>
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#layout-navigation">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar icon-bar-top"></span>
<span class="icon-bar icon-bar-middle"></span>
<span class="icon-bar icon-bar-bottom"></span>
</button>
</div>
<div class="header-nav">
<a id="accesskey_top" accesskey="U" title="accesskey top" href="#" title="Toolbar">:::</a>
{{header-data}}
<div class="container">
<a id="accesskey_top" accesskey="U" title="accesskey top" href="#" title="Toolbar">:::</a>
{{header-data}}
</div>
</div>
<div class="collapse navbar-collapse modules-menu" id="layout-navigation">
<a id="accesskey_menu" title="accesskey menu" accesskey="M" href="#" title="Main menu">:::</a>

View File

@ -9,7 +9,13 @@
<%= render_orbit_bar %>
<div class="background" data-pp="100"></div>
<%= render_header %>
<div class="downIcon" ><div class="scroller"></div><a href="#onesection" tabindex="0" title="移動到第一個區塊" aria-label="往下導覽">
<span class="visually-hidden">往下導覽</span></a></div>
<div class="no-print single-child-datapp homebanner text_marqueewrapper" data-pp="999"></div>
<div class="layout-slide no-print single-child-datapp homebanner" data-pp="300"></div>
<div class="layout-content2 topcontent">
<div class=" single-child-datapp onesection" id="onesection" data-pp="1999"></div>
</div>
<div class="video-banner" data-pp="301" ></div>
<div class="verticalhome">
<div class="layout-content topcontent">

View File

@ -8,6 +8,7 @@
<%= render_orbit_bar %>
<div class="background" data-pp="100"></div>
<%= render_header %>
<div class="no-print single-child-datapp homebanner text_marqueewrapper" data-pp="998"></div>
<section class="layout-slide no-print single-child-datapp homebanner" data-pp="300"></section>
<!-- <div class="contentwrap">
<div class="container ">

View File

@ -1,5 +1,7 @@
<ul class="pagination pagination-sm" data-pagination="true">
<li class="{{pagination_active}}">
<a href="{{pagination_link}}">{{page_number}}</a>
<a href="{{pagination_link}}" title="第{{page_number}}頁">
{{page_number}}
</a>
</li>
</ul>

View File

@ -27,11 +27,18 @@
</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}}"><span style="display: none;">Slide {{slide_number}}</span></button></li>
<li><button title="Slide {{slide_number}}" aria-label="Pager"><span style="display: none;">Slide {{slide_number}}</span></button></li>
</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 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>

View File

@ -30,11 +30,18 @@
</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}}"><span style="display: none;">Slide {{slide_number}}</span></button></li>
<li><button title="Slide {{slide_number}}" aria-label="Pager"><span style="display: none;">Slide {{slide_number}}</span></button></li>
</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 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>

View File

@ -30,7 +30,17 @@
</div>
</div>
<ul class="w-ba-banner__pager-2 banner-pager banner_caption_{{subpart-id}}"></ul>
<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="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>

View File

@ -11,7 +11,7 @@
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-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"
@ -26,9 +26,16 @@
</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 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>
@ -110,9 +117,19 @@
}
});
button_container.find('.jarallax-video-audio').remove();
button_container.append(audio_div);
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){
audio_div.after(control_play_btn);
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');
@ -387,10 +404,9 @@
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(){
@ -409,7 +425,8 @@
$('[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{

View File

@ -27,17 +27,34 @@
</div>
</div>
<ul class="w-ba-banner__pager-3 banner-pager banner_caption_{{subpart-id}}"></ul>
<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 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" %>"></button>
<button class="next-button" title = "<%= (I18n.locale.to_s =="zh_tw") ? "下一張" : "next" %>"></button>
<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');
});

View File

@ -34,9 +34,16 @@
</div>
</div>
<div class="w-ba-banner__caption 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 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>

View File

@ -30,11 +30,18 @@
</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}}"><span style="display: none;">Slide {{slide_number}}</span></button></li>
<li><button title="Slide {{slide_number}}" aria-label="Pager"><span style="display: none;">Slide {{slide_number}}</span></button></li>
</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 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>

View File

@ -30,11 +30,15 @@
</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}}"><span style="display: none;">Slide {{slide_number}}</span></button></li>
<li><button title="Slide {{slide_number}}" aria-label="Pager"><span style="display: none;">Slide {{slide_number}}</span></button></li>
</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>
<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>

View File

@ -14,7 +14,7 @@
data-cycle-carousel-visible="3"
data-cycle-carousel-fluid="true"
data-pager=".banner_caption_{{subpart-id}}"
data-pager-template="<li><button title='pager'></button></li>"
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"

View File

@ -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&&currentTime-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>

View File

@ -71,6 +71,14 @@
"en" : "8. 3 Pro Carousel ( image, Youtube video, navigation )"
},
"thumbnail" : "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"
}
]
}

View File

@ -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>

View File

@ -2,10 +2,9 @@
<h3 class="i-annc__page-title">{{page-title}}</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">
<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>
<img class="i-annc__img" src="{{img_src}}" alt="" title="{{img_description}}">
</div>
<div class="i-annc__content-wrap">
<div class="i-annc__meta">
@ -22,10 +21,11 @@
</span>
</div>
<h4 class="i-annc__entry-title">
<a class="i-annc__title" href="{{link_to_show}}">{{title}}</a>
<span class="i-annc__title">{{title}}</span>
</h4>
<p class="i-annc__subtitle">{{subtitle}}</p>
</div>
</a>
</li>
</ul>
</div>

View File

@ -2,10 +2,11 @@
<h3 class="i-annc__page-title">{{page-title}}</h3>
<ul class="i-annc__list" data-level="0" data-list="announcements">
<li class="i-annc__item row">
<a href="{{link_to_show}}" alt="{{img_description}}" title="{{img_description}}">
<div class="i-annc__img-wrap col-sm-4">
<a href="{{link_to_show}}" alt="{{img_description}}" title="{{img_description}}">
<img class="i-annc__img" src="{{img_src}}" alt="{{img_description}}">
</a>
<img class="i-annc__img" src="{{img_src}}" alt="" title="{{img_description}}">
</div>
<div class="i-annc__content-wrap col-sm-8">
<div class="i-annc__meta">
@ -22,10 +23,11 @@
</span>
</div>
<h4 class="i-annc__entry-title">
<a class="i-annc__title" href="{{link_to_show}}">{{title}}</a>
<span class="i-annc__title">{{title}}</span>
</h4>
<p class="i-annc__subtitle">{{subtitle}}</p>
</div>
</a>
</li>
</ul>
</div>

View File

@ -2,6 +2,7 @@
<h3 class="i-annc__page-title">{{page-title}}</h3>
<ul class="i-annc__list" data-level="0" data-list="announcements">
<li class="i-annc__item row">
<a href="{{link_to_show}}" alt="{{img_description}}" title="{{img_description}}">
<div class="i-annc__content-wrap col-sm-8">
<div class="i-annc__meta">
<span class="i-annc__status-wrap" data-list="statuses" data-level="1">
@ -17,15 +18,14 @@
</span>
</div>
<h4 class="i-annc__entry-title">
<a class="i-annc__title" href="{{link_to_show}}">{{title}}</a>
<span class="i-annc__title">{{title}}</span>
</h4>
<p class="i-annc__subtitle">{{subtitle}}</p>
</div>
<div class="i-annc__img-wrap col-sm-4">
<a href="{{link_to_show}}">
<img class="i-annc__img" src="{{img_src}}" alt="{{img_description}}">
</a>
<img class="i-annc__img" src="{{img_src}}" alt="" title="{{img_description}}">
</div>
</a>
</li>
</ul>
</div>

View File

@ -2,10 +2,9 @@
<h3 class="i-annc__page-title">{{page-title}}</h3>
<ul class="i-annc__list row" data-level="0" data-list="announcements">
<li class="i-annc__item col-md-4 col-sm-4">
<a href="{{link_to_show}}" alt="{{img_description}}" title="{{img_description}}">
<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>
<img class="i-annc__img" src="{{img_src}}" alt="" title="{{img_description}}">
</div>
<div class="i-annc__content-wrap">
<div class="i-annc__meta">
@ -22,10 +21,11 @@
</span>
</div>
<h4 class="i-annc__entry-title">
<a class="i-annc__title" href="{{link_to_show}}">{{title}}</a>
<span class="i-annc__title">{{title}}</span>
</h4>
<p class="i-annc__subtitle">{{subtitle}}</p>
</div>
</a>
</li>
</ul>
</div>

View File

@ -242,6 +242,14 @@
},
"thumbnail": "annc_widget22_thumbs.png"
},
{
"filename": "annc_widget25",
"name": {
"zh_tw": "25. 2/3輪波三欄圖文型態2-slide ( 模組標題, 圖片, 狀態, 日期, 類別, 標題, 副標題 )",
"en": "25. 2/3carousel3.2-3-Column Standard Image + Text -slide(widget-title, image, status, postdate, category, title, subtitle)"
},
"thumbnail": "annc_widget21_thumbs.png"
},
{
"filename": "annc_widget5",

View File

@ -1,5 +1,6 @@
<div class="widget-ask widget1">
<style type="text/css">
#new-ask-question .form-horizontal .control-group > *{
font-size: 1.125em;
}

View File

@ -32,7 +32,7 @@
<div id="calendar"></div>
<div id="calendar_agenda"></div>
</div>
<div class="createbooking"><a class="btn-primary">建立預約</a></div>
<div class="createbooking"><a class="btn btn-primary">建立預約</a></div>
</div>
<div id="event_quick_view" class="modal" style="width: 300px; display:none; margin:0 0 0 0;"></div>
<div id="calendar-loading"></div>

View File

@ -31,7 +31,7 @@
<div class="left-fullslider col-lg-7 col-xs-12">
<a href="{{link_to_show}}">
<img src="{{img_url_thumb}}" alt="{{title}}">
</a>
</a>
</div>
<div class="right-fullslider col-lg-5 col-xs-12">
<div class="right-box">

View File

@ -0,0 +1,95 @@
<div class="i-annc index-eventnews-21 event-widget-announcement-7">
<h3 class="i-annc__page-title">{{page-title}}</h3>
<ul class="i-annc__list row" data-level="0" data-list="event_news">
<li class="i-annc__item col-md-4">
<a href="{{link_to_show}}">
<div class="i-annc__img-wrap bullseye" style="position:relative">
<img class="i-annc__img" src="{{img_src}}" alt="" title="{{img_description}}">
</div>
<div class="i-annc__content-wrap card">
<div class="cardinner">
<h4 class="i-annc__entry-title">
<span class="i-annc__title">{{title}}</span>
</h4>
<div class="">
<p class="i-annc__subtitle">{{host}}</p>
<span class="speakercss">
<span>{{speaker-head}}</span>
<span>{{speaker}}</span>
</span>
<div class="i-annc__meta">
<span class="i-annc__postdate-wrap" date-format="%Y-%m-%d">
<span class="i-annc__postdate">{{postdate}}</span>
</span>
</div>
</div>
</div>
</div>
</a>
</li>
</ul>
</div>
{{pagination_goes_here}}
<script>
var lilength = $('.i-annc.index-eventnews-21 li.i-annc__item').length;
function combineul(){
for(var i=1;i<$('.i-annc.index-eventnews-21 ul.i-annc__list').length;i++)
$('.i-annc.index-eventnews-21 ul.i-annc__list').eq(0).find('>li').eq(-1).after($('.i-annc.index-eventnews-21 ul.i-annc__list').eq(i).html());
var ullength = $('.i-annc.index-eventnews-21 ul.i-annc__list').length;
for(var i = 1;i < ullength;i++)
$('.i-annc.index-eventnews-21 ul.i-annc__list').eq(-1).remove();
};
function reorganize(num){
combineul();
for(var i=1;i< Math.ceil(lilength/num);i++){
$('.i-annc.index-eventnews-21 ul.i-annc__list').eq(-1).after('<ul class="i-annc__list row" data-level="0" data-list="event_news"></ul>')
var lihtml="";
if(i != (Math.ceil(lilength/num)-1)){
for(var j=0;j<num;j++)
lihtml += "<li class='i-annc__item col-md-4'>"+$('.i-annc.index-eventnews-21 li.i-annc__item').eq(i*num+j).html()+"</li>"
}else{
for(var j=0;j< lilength - num *(Math.ceil(lilength/num)-1) ;j++)
lihtml += "<li class='i-annc__item col-md-4'>"+$('.i-annc.index-eventnews-21 li.i-annc__item').eq(i*num+j).html()+"</li>"
};
$('.i-annc.index-eventnews-21 ul.i-annc__list').eq(-1).html(lihtml);
};
if(Math.ceil(lilength/num) != 1 )
for(var i=0;i< lilength -num ; i++ )
$('.i-annc.index-eventnews-21 ul.i-annc__list').eq(0).find("li.i-annc__item").eq(num).remove();
$('.i-annc.index-eventnews-21 ul.i-annc__list >li').css('width','calc('+100/num+'% - '+20/20+'em)'); //20px=>li的margin
};
$(document).ready(function(){
if($(window).width()>1024){
reorganize(4);
num=3;
}else if($(window).width()>576){
reorganize(4);
num=2;
}else{
reorganize(4);
num=1;
}
$('.i-annc__postdate').each(function () {
var text = $(this).text().trim();
if (text !== '') {
$(this).text('公視+線上看:' + text);
}
});
});
$(window).resize(function(){
if($(window).width()>1024){
reorganize(4);
num=3;
}else if($(window).width()>576){
reorganize(4);
num=2;
}else{
reorganize(4);
num=1;
}
})
</script>

View File

@ -2,8 +2,9 @@
<h3 class="i-annc__page-title">{{page-title}}</h3>
<ul class="i-annc__list" data-level="0" data-list="event_news">
<li class="i-annc__item row">
<a href="{{link_to_show}}" title="{{img_description}}">
<div class="i-annc__img-wrap col-sm-4">
<img class="i-annc__img" src="{{img_src}}" alt="{{img_description}}">
<img class="i-annc__img" src="{{img_src}}" alt="" title="{{img_description}}">
</div>
<div class="i-annc__content-wrap col-sm-8">
<div class="i-annc__meta">
@ -20,10 +21,11 @@
</span>
</div>
<h4 class="i-annc__entry-title">
<a class="i-annc__title" href="{{link_to_show}}">{{title}}</a>
<span class="i-annc__title">{{title}}</span>
</h4>
<p class="i-annc__subtitle">{{subtitle}}</p>
</div>
</a>
</li>
</ul>
</div>

View File

@ -2,6 +2,7 @@
<h3 class="i-annc__page-title">{{page-title}}</h3>
<ul class="i-annc__list" data-level="0" data-list="event_news">
<li class="i-annc__item row">
<a href="{{link_to_show}}" title="{{img_description}}">
<div class="i-annc__content-wrap col-sm-8">
<div class="i-annc__meta">
<span class="i-annc__status-wrap" data-list="statuses" data-level="1">
@ -17,13 +18,14 @@
</span>
</div>
<h4 class="i-annc__entry-title">
<a class="i-annc__title" href="{{link_to_show}}">{{title}}</a>
<span class="i-annc__title">{{title}}</span>
</h4>
<p class="i-annc__subtitle">{{subtitle}}</p>
</div>
<div class="i-annc__img-wrap col-sm-4">
<img class="i-annc__img" src="{{img_src}}" alt="{{img_description}}">
<img class="i-annc__img" src="{{img_src}}" alt="" title="{{img_description}}">
</div>
</a>
</li>
</ul>
</div>

View File

@ -2,8 +2,9 @@
<h3 class="i-annc__page-title">{{page-title}}</h3>
<ul class="i-annc__list row" data-level="0" data-list="event_news">
<li class="i-annc__item col-md-4">
<a href="{{link_to_show}}" title="{{img_description}}">
<div class="i-annc__img-wrap bullseye" style="position:relative">
<a href="{{link_to_show}}"><img class="i-annc__img" src="{{img_src}}" alt="{{img_description}}" title="{{img_description}}"></a>
<img class="i-annc__img" src="{{img_src}}" alt="" title="{{img_description}}">
</div>
<div class="i-annc__content-wrap">
<div class="i-annc__meta">
@ -20,10 +21,12 @@
</span>
</div>
<h4 class="i-annc__entry-title">
<a class="i-annc__title" href="{{link_to_show}}">{{title}}</a>
<span class="i-annc__title">{{title}}</span>
</h4>
<p class="i-annc__subtitle">{{subtitle}}</p>
<p class="s-annc__post-notes">{{notes}}</p>
</div>
</a>
</li>
</ul>
</div>

View File

@ -159,6 +159,14 @@
"en": "20. Standard Title List-4 ( category, EventDate, speaker, EventDate, status, title, EndDate, view-count)"
},
"thumbnail": "event_news_index1_thumbs.png"
},
{
"filename": "event_news_index21",
"name": {
"zh_tw": "21. 長短圖文 ( 模組標題, 圖片, 狀態, 日期, 類別, 標題, 副標題 )",
"en": "21. long-short-Column Standard Image + Text (widget-title, image, status, postdate, category, title, subtitle)"
},
"thumbnail": "event_news_index7_thumbs.png"
}
],
"widgets": [

View File

@ -55,6 +55,14 @@
"en" : "7. three Columns (category title, photo and customized profile data)"
},
"thumbnail" : "member_index5_thumb.png"
},
{
"filename" : "member_index8",
"name" : {
"zh_tw" : "8. 四欄白底圓角名片式 ( 類別標題, 個人照片, 個人資料等自訂欄位 )",
"en" : "8. four Columns whitebg (category title, photo and customized profile data)"
},
"thumbnail" : "member_index5_thumb.png"
}
]
}

View File

@ -0,0 +1,55 @@
<div class="i-member index-member-8">
<div data-list="roles" data-level="0">
<div class="i-member-section">
<div data-level="1" data-list="status-list">
<h3 class="i-member-status-title">{{status-title}}</h3>
<div class="i-member-list row" data-level="2" data-list="members">
<div class="i-member-item col-md-3 col-sm-6" href="{{link_to_show}}">
<div class="i-member-item-inner clearfix">
<div class="i-member-pic-wrap">
<a href="{{link_to_show}}" title="{{name}}">
<img class="i-member-pic" src="{{image}}" title="{{name}}">
</a>
</div>
<div class="i-member-profile-data-wrap">
<ul class="i-member-profile-list" data-list="profile_data" data-level="3">
<li class="i-member-profile-item">
<span class="i-member-title {{title_class}}">{{title}}</span>
<span class="i-member-value {{value_class}}">{{value}}</span>
</li>
</ul>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
{{pagination_goes_here}}
<style>
input::placeholder {
color: #868e96;
}
</style>
<script>
$(document).ready(function () {
// 圖片預設處理
$('.i-member img').each(function () {
if ($(this).attr('alt') === "") {
$(this).attr('alt', 'noname');
$(this).attr('title', 'noname');
$(this).parent().attr('title', 'noname');
}
});
});
</script>

View File

@ -94,7 +94,7 @@
<thead>
<tr data-list="head-columns" data-level="0">
<th class="col-ken">
<a href="{{sort-url}}" class="{{sort}}" title="前往分類連結"><i class="universal-th-icon fa fa-{{sort-class}}"></i><span class="sr-only">前往分類連結</span></a>
<a href="{{sort-url}}" class="{{sort}}" role="link" aria-label="重新排序{{title}}"><i class="universal-th-icon fa fa-{{sort-class}}" aria-hidden="true"></i></a>
<div class="dropdown universal-dropdown {{search}}">
<button class="btn btn-sm" id="dLabel" type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" aria-label="搜尋" title="搜尋" role="button">
<i class="fa fa-search"></i>
@ -110,7 +110,7 @@
</form>
</div>
</div>
<div class="universal-th-text {{title-class}}">{{title}}</div>
<div class="universal-th-text {{title-class}}">{{title}}</div>
</th>
</tr>
</thead>

View File

@ -72,7 +72,7 @@
<thead>
<tr data-list="head-columns" data-level="0">
<th class="col-ken">
<a href="{{sort-url}}" class="{{sort}}" title="前往分類連結"><i class="universal-th-icon fa fa-{{sort-class}}"></i><span class="sr-only">前往分類連結</span></a>
<a href="{{sort-url}}" class="{{sort}}" role="link" aria-label="重新排序{{title}}"><i class="universal-th-icon fa fa-{{sort-class}}" aria-hidden="true"></i></a>
<div class="dropdown universal-dropdown {{search}}">
<button class="btn btn-sm" id="dLabel" type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" aria-label="搜尋" title="搜尋" role="button">
<i class="fa fa-search"></i>
@ -88,7 +88,7 @@
</form>
</div>
</div>
<div class="universal-th-text {{title-class}}">{{title}}</div>
<div class="universal-th-text {{title-class}}">{{title}}</div>
</th>
</tr>
</thead>

View File

@ -74,15 +74,15 @@
<table class="table table-hover table-striped universal-table-index universal-table-index3">
<div class="searchbtn">
<div class="ken-click">
<div class="searchbtn2 pull-right"><i class="fa-solid fa-magnifying-glass"></i>查詢</div>
<a href="{{url}}" class="universal-btn btn btn-info pull-right {{reset}}"><i class="fa fa-refresh"></i> Reset</a>
<a href="{{url}}" class="universal-btn btn btn-info {{reset}}"><i class="fa fa-refresh"></i> Reset</a>
<button class="searchbtn2 btn-primary " title="查詢" class="btn btn-default"><i class="fa-solid fa-magnifying-glass"></i>查詢</button>
</div>
</div>
<div class="searchbox">
<div class="theadsearch2">
<div class="row col-md-11 col-xs-12" data-list="searchable-columns" data-level="0">
<div class="{{col-class}}">
<a href="{{sort-url}}" class="{{sort}}"><i class="universal-th-icon fa fa-{{sort-class}}"></i></a>
<a href="{{sort-url}}" class="{{sort}}" aria-label="重新排序{{title}}"><i class="universal-th-icon fa fa-{{sort-class}}" aria-hidden="true"></i></a>
<div class="universal-th-text {{title-class}}">{{title}}</div>
<div class="dropdown universal-dropdown {{search}}">
<div class="dropdown-menu universal-dropdown-menu" aria-labelledby="dLabel">
@ -105,10 +105,10 @@
<thead class="theadsearch">
<tr data-list="head-columns" data-level="0">
<th class="col-ken">
<a href="{{sort-url}}" class="{{sort}}"><i class="universal-th-icon fa fa-{{sort-class}}"></i></a>
<a href="{{sort-url}}" class="{{sort}}" aria-label="重新排序{{title}}"><i class="universal-th-icon fa fa-{{sort-class}}"></i></a>
<div class="universal-th-text {{title-class}}">{{title}}</div>
<div class="dropdown universal-dropdown {{search}}">
<button class="btn btn-md" id="dLabel" type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<button class="btn btn-sm" id="dLabel" type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" aria-label="搜尋" title="搜尋" role="button">
<i class="fa fa-search"></i>
<span class="caret"></span>
</button>
@ -136,6 +136,7 @@
<div>{{export_button}}</div>
{{pagination_goes_here}}
<script>
// $(document).ready(function(){
// $("tr>th:first-child").removeClass("col-md-3");
// $("tr>th:first-child").addClass("col-md-1");

View File

@ -68,15 +68,15 @@
<table class="table table-hover table-striped universal-table-index universal-table-index4">
<div class="searchbtn">
<div class="ken-click">
<div class="searchbtn2 pull-right"><i class="fa-solid fa-magnifying-glass"></i>查詢</div>
<a href="{{url}}" class="universal-btn btn btn-info pull-right {{reset}}"><i class="fa fa-refresh"></i> Reset</a>
<a href="{{url}}" class="universal-btn btn btn-info {{reset}}"><i class="fa fa-refresh"></i> Reset</a>
<button class="searchbtn2 btn-primary " title="查詢" class="btn btn-default"><i class="fa-solid fa-magnifying-glass"></i>查詢</button>
</div>
</div>
<div class="searchbox">
<div class="theadsearch2">
<div class="row col-md-11 col-xs-12" data-list="searchable-columns" data-level="0">
<div class="{{col-class}}">
<a href="{{sort-url}}" class="{{sort}}"><i class="universal-th-icon fa fa-{{sort-class}}"></i></a>
<a href="{{sort-url}}" class="{{sort}}" aria-label="重新排序{{title}}"><i class="universal-th-icon fa fa-{{sort-class}}" aria-hidden="true"></i></a>
<div class="universal-th-text {{title-class}}">{{title}}</div>
<div class="dropdown universal-dropdown {{search}}">
<div class="dropdown-menu universal-dropdown-menu" aria-labelledby="dLabel">
@ -99,10 +99,10 @@
<thead class="theadsearch">
<tr data-list="head-columns" data-level="0">
<th class="col-ken">
<a href="{{sort-url}}" class="{{sort}}"><i class="universal-th-icon fa fa-{{sort-class}}"></i></a>
<a href="{{sort-url}}" class="{{sort}}" aria-label="重新排序{{title}}"><i class="universal-th-icon fa fa-{{sort-class}}"></i></a>
<div class="universal-th-text {{title-class}}">{{title}}</div>
<div class="dropdown universal-dropdown {{search}}">
<button class="btn btn-md" id="dLabel" type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<button class="btn btn-sm" id="dLabel" type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" aria-label="搜尋" title="搜尋" role="button">
<i class="fa fa-search"></i>
<span class="caret"></span>
</button>

View File

@ -2,8 +2,9 @@
<h3 class="widget-title"><span>{{widget-title}}</span></h3>
<ul class="video_data_wrap col-sm-12" data-list="videos" data-level="0">
<li class="video_data col-xs-12 col-sm-4" data-video-url="{{video_url}}" data-video-webm-url="{{video_webm_url}}" data-type="{{video_type}}">
<a class="video_link" href="{{video_show_url}}" title="{{video_title_escape}}">
<div class="video_linkwrapper">
<div class="videohover">
<div class="view_info">
<span>{{view_count}}</span>
@ -11,7 +12,9 @@
<div class="Video__Player"><button class="Video__PlayerButton"></button></div>
<div class="videoduration"></div>
</div>
<a class="video_link" href="{{video_show_url}}" title="{{video_title_escape}}">
<img class="video_snapshot" src="{{snapshot_url}}"/>
</a>
</div>
<div class="video_info">
<div class="video_length">{{video_duration}}</div>
@ -21,7 +24,7 @@
<div class="video_title"><a class="video_link" href="{{video_show_url}}" title="{{video_title_escape}}"><h5>{{video_title}}</h5></a></div>
<div class="video_desc"><a class="video_link" href="{{video_show_url}}" title="{{video_title_escape}}">{{video_desc}}</a></div>
</div>
</a>
</li>
</ul>
<div class="clearfix"></div>

View File

@ -13,6 +13,7 @@
</div>
<img class="video_snapshot" src="{{snapshot_url}}"/>
</div>
</a>
<div class="video_info">
<div class="video_length">{{video_duration}}</div>
<div data-list="video_tags" data-level="1" class="video_tag"><div class="video_tags2">{{video_tag}}</div></div>
@ -21,7 +22,7 @@
<div class="video_title"><a class="video_link" href="{{video_show_url}}" title="{{video_title_escape}}"><h5>{{video_title}}</h5></a></div>
<div class="video_desc"><a class="video_link" href="{{video_show_url}}" title="{{video_title_escape}}">{{video_desc}}</a></div>
</div>
</a>
</li>
</ul>
<div class="clearfix"></div>

View File

@ -110,8 +110,8 @@ $(document).ready(function () {
if ($pager.next(".pager-controls").length === 0) {
$pager.after(`
<div class="pager-controls">
<button class="prev-btn"><i class="fa fa-angle-left prev-button" aria-hidden="true" style="font-size: 1.5rem;"></i></button>
<button class="next-btn"><i class="fa fa-angle-right next-button" aria-hidden="true" style="font-size: 1.5rem;"></i></button>
<button class="prev-btn" title="下一張" aria-label="下一張"><i class="fa fa-angle-left prev-button" aria-hidden="true" style="font-size: 1.5rem;"></i></button>
<button class="next-btn" title="上一張" aria-label="上一張"><i class="fa fa-angle-right next-button" aria-hidden="true" style="font-size: 1.5rem;"></i></button>
</div>
`);
}

View File

@ -105,8 +105,8 @@
"filename" : "video_pro_index4",
"force_cover": "true",
"name" : {
"zh_tw" : "4. 欄影片列表1 + 類別 + 搜尋 ( 縮圖, 影片資訊, 頁面連結)",
"en" : "4. 4col-Video List 1 + Category filter + Search ( snapshot, video info, page link)"
"zh_tw" : "4. 欄影片列表1 + 類別 + 搜尋 ( 縮圖, 影片資訊, 頁面連結)",
"en" : "4. 3col-Video List 1 + Category filter + Search ( snapshot, video info, page link)"
},
"thumbnail" : "thumb.png"
}

View File

@ -21,7 +21,6 @@
<div class="video_title"><h5>{{video_title}}</h5></div>
<div class="video_desc">{{video_desc}}</div>
<div class="view_info">
<span><img src="{{hd_icon_url}}" alt="HD"></span>
<span>x {{view_count}}</span>
</div>
</div>

View File

@ -8,10 +8,12 @@
<div class="link-img-wrap{{display_image}}">
<img src="{{img_src}}" alt="{{img_description}}" title="{{img_description}}">
</div>
<a class="widget-content-title" href="{{link_to_show}}" target="{{target}}" title="{{title_text}}">{{title}}</a>
<span data-list="statuses" data-level="1">
<span class="label status {{status-class}}">{{status}}</span>
</span>
<div class="widget-content-title">
<span class="" href="{{link_to_show}}" target="{{target}}" title="{{title_text}}">{{title}}</span>
<span data-list="statuses" data-level="1">
<span class="label status {{status-class}}">{{status}}</span>
</span>
</div>
</a>
</li>
</ul>

View File

@ -1,7 +1,7 @@
<div class="widget-link widget-3" style="position: relative;">
<div class="widget-link__more-wrap clearfix">
<h2 class="widget-link__widget-title">
<h2 class="widget-title">
<span>{{widget-title}}</span>
</h2>
</div>

View File

@ -1,6 +1,6 @@
<div class="widget-link widget-4">
<div class="widget-link__more-wrap clearfix">
<h2 class="widget-link__widget-title">
<h2 class="widget-title">
<span>{{widget-title}}</span>
</h2>
</div>
@ -12,11 +12,11 @@
data-cycle-pause-on-hover="true" data-cycle-log="false" data-cycle-carousel-fluid="true">
<li class="widget-link__item">
<div class="liWrapper">
<a class="widget-content-title" href="{{link_to_show}}" target="{{target}}" title="{{title_text}}">
<a href="{{link_to_show}}" target="{{target}}" title="{{title_text}}">
<img class="widget-link__img" src="{{img_src}}" alt="{{img_description}}" title="{{img_description}}"><br />
{{title}}
</a>
</div>
<div class="widget-content-title">{{title}}</div>
</li>
</div>
<ul class="button-mid">

View File

@ -1,6 +1,6 @@
<div class="widget-link widget-5">
<div class="widget-link__more-wrap clearfix">
<h2 class="widget-link__widget-title">
<h2 class="widget-title">
<span>{{widget-title}}</span>
</h2>
</div>
@ -12,11 +12,11 @@
data-cycle-pause-on-hover="true" data-cycle-log="false" data-cycle-carousel-fluid="true">
<li class="widget-link__item">
<div class="liWrapper">
<a class="widget-content-title" href="{{link_to_show}}" target="{{target}}" title="{{title_text}}">
<a href="{{link_to_show}}" target="{{target}}" title="{{title_text}}">
<img class="widget-link__img" src="{{img_src}}" alt="{{img_description}}" title="{{img_description}}"><br />
{{title}}
</a>
</div>
<div class="widget-content-title">{{title}}</div>
</li>
</div>

View File

@ -1,6 +1,6 @@
<div class="widget-link widget-6">
<div class="widget-link__more-wrap clearfix">
<h2 class="widget-link__widget-title">
<h2 class="widget-title">
<span class="title">{{widget-title}}</span>
</h2>
</div>
@ -12,7 +12,7 @@
data-cycle-pause-on-hover="true" data-cycle-log="false" data-cycle-carousel-fluid="true">
<li class="widget-link__item">
<div class="liWrapper">
<a class="widget-content-title" href="{{link_to_show}}" target="{{target}}" title="{{title_text}}">
<a href="{{link_to_show}}" target="{{target}}" title="{{title_text}}">
<img class="widget-link__img" src="{{img_src}}" alt="{{img_description}}" title="{{img_description}}"><br />
</a>
</div>

View File

@ -5,14 +5,17 @@
<ul class="list-unstyled" data-level="0" data-list="web_link">
<li class="widget-content widget-content-horizontal ">
<a href="{{link_to_show}}" target="{{target}}" title="{{title_text}}">
<div class="link-img-wrap{{display_image}}">
<img src="{{img_src}}" alt="{{img_description}}" title="{{img_description}}">
<div class="link-img-wrap{{display_image}}">
<img src="{{img_src}}" alt="{{img_description}}" title="{{img_description}}">
</div>
</a>
<div class="widget-content-title">
<a class="" href="{{link_to_show}}" target="{{target}}" title="{{title_text}}">{{title}}</a>
<span data-list="statuses" data-level="1">
<span class="label status {{status-class}}">{{status}}</span>
</span>
</div>
<a class="widget-content-title" href="{{link_to_show}}" target="{{target}}" title="{{title_text}}">{{title}}</a>
<span data-list="statuses" data-level="1">
<span class="label status {{status-class}}">{{status}}</span>
</span>
</a>
</li>
</ul>
<!-- <div class="morebken"><div class="openmorebken"></div><i class="fa-solid fa-chevron-down"></i></div> -->

View File

@ -8,11 +8,12 @@
<div class="link-img-wrap{{display_image}}">
<img src="{{img_src}}" alt="{{img_description}}" title="{{img_description}}">
</div>
<a class="widget-content-title" href="{{link_to_show}}" target="{{target}}" title="{{title_text}}">{{title}}</a>
<span data-list="statuses" data-level="1">
<span class="label status {{status-class}}">{{status}}</span>
</span>
</a>
<div class="widget-content-title">
<a class="" href="{{link_to_show}}" target="{{target}}" title="{{title_text}}">{{title}}</a>
<span data-list="statuses" data-level="1">
<span class="label status {{status-class}}">{{status}}</span>
</span>
</div>
</li>
</ul>
</div>

View File

@ -0,0 +1,40 @@
<div class="widget-link widget9">
<h3 class="widget-title">
<span>{{widget-title}}</span>
</h3>
<ul class="list-unstyled" data-level="0" data-list="web_link">
<li class="widget-content widget-content-horizontal ">
<div class="hex-border">
<a href="{{link_to_show}}" target="{{target}}" title="{{title_text}}">
<div class="link-img-wrap{{display_image}}">
<img src="{{img_src}}" alt="{{img_description}}" title="{{img_description}}">
</div>
<a class="widget-content-title" href="{{link_to_show}}" target="{{target}}" title="{{title_text}}">{{title}}</a>
<span data-list="statuses" data-level="1">
<span class="label status {{status-class}}">{{status}}</span>
</span>
</a>
</div>
</li>
</ul>
<!-- <div class="morebken"><div class="openmorebken"></div><i class="fa-solid fa-chevron-down"></i></div> -->
</div>
<style type="text/css">
.widget-content-horizontal{
float: left;
}
.openmorebken{
&:before{
content: '展開';
display: block;
position: relative;
}
}
.closemorebken{
&:before{
content: '關閉'!important;
display: block;
position: relative;
}
}
</style>

View File

@ -29,8 +29,8 @@
{
"filename" : "web_res_widget2",
"name" : {
"zh_tw" : "2. 橫式列表 ( 模組標題, 連結 )",
"en" : "2. Horizontal List (widget-title, link)"
"zh_tw" : "2. 收合橫式列表 ( 模組標題, 連結 )",
"en" : "2.close & open-Horizontal List (widget-title, link)"
},
"thumbnail" : "web_res_widget2_thumb.png"
},
@ -81,6 +81,14 @@
"en" : "8. Horizontal List (widget-title, link)"
},
"thumbnail" : "web_res_widget8_thumb.png"
},
{
"filename" : "web_res_widget9",
"name" : {
"zh_tw" : "9. 純文字圓形橫式列表 ( 模組標題, 連結 )",
"en" : "9. txt only-Circle-Horizontal List (widget-title, link)"
},
"thumbnail" : "web_res_widget1_thumb.png"
}
]
}