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() { ClickMenuHandler: function() {
$('.navbar-toggle').click(function(e){ // 處理主選單切換(漢堡 icon
$(document).on('click', '.navbar-toggle', function (e) {
e.preventDefault(); 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'); $('.mobile-menu').toggleClass('active');
$('body').toggleClass('noscroll'); $('body').toggleClass('noscroll');
$('.mobile-menu .navbar-toggle').removeClass('collapsed'); $('.mobile-menu .navbar-toggle').removeClass('collapsed');
// $menu.slideToggle();
$('.mobile-menu1 > ul').slideUp(500); // 關閉所有下拉選單
$('.mobile-menu1 > .menu-drop').removeClass('opened'); $('.mobile-menu1 > ul, .mobile-menu2 > ul').slideUp(500);
$('.mobile-menu2 > ul').slideUp(500); $('.mobile-menu1 > .menu-drop, .mobile-menu2 > .menu-drop').removeClass('opened');
$('.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(){ $('.mobile-menu1 > .menu-drop').click(function(){
var $that = $(this); var $that = $(this);
@ -384,6 +399,113 @@
// $('.header-buttom').appendTo($('.dropdowns')); // $('.header-buttom').appendTo($('.dropdowns'));
// } // }
function forFreeGo() { 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') { if (document.documentElement.lang === 'zh_tw') {
document.documentElement.lang = 'zh-Hant'; document.documentElement.lang = 'zh-Hant';
} }
@ -465,6 +587,18 @@
$(this).css("font-size", emValue + "em"); $(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() { $("table").each(function() {
$(this).find("tr").each(function(rowIndex) { $(this).find("tr").each(function(rowIndex) {
$(this).find("th").each(function(colIndex) { $(this).find("th").each(function(colIndex) {
@ -502,6 +636,18 @@
$this.attr('title', '這是一張圖片'); $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 () { $(".w-annc__img-wrap a").each(function () {
var $this = $(this); var $this = $(this);
// 確保 <a> 內沒有文字節點 (避免重複添加) // 確保 <a> 內沒有文字節點 (避免重複添加)
@ -561,106 +707,93 @@
$button.attr('aria-label', '播放驗證碼語音'); $button.attr('aria-label', '播放驗證碼語音');
} }
}); });
// 幫有連結目的之所有a標籤加上aria-label //有連結目的之所有a標籤加上aria-label和title
$('a').each(function() { $('a').each(function () {
var $this = $(this); var $a = $(this);
var href = $a.attr('href');
if (!href) return;
// 如果 <a> 已經有 aria-label則跳過 var hasSrOnly = $a.find('.sr-only').length > 0;
if ($this.attr('aria-label')) return;
var href = $this.attr('href'); // 若有 .sr-only移除 aria-label 和 title 避免重複朗讀
if (!href) return; // 如果沒有 href則跳過 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') { if ($a.attr('target') === '_blank') {
ariaLabel += '在本視窗開啟 ';
} else if ($this.attr('target') === '_blank') {
ariaLabel += '在新視窗開啟 '; 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> 的文字內容 // ----- title 邏輯 -----
var linkText = $this.text().trim(); if (!$a.attr('title')) {
if (linkText) { let titleStr = '';
ariaLabel += linkText;
} else if ($this.children('span').length === 1) {
ariaLabel += $this.children('span').text().trim();
}
// 如果包含 <i> 圖示,標示為 icon
if ($this.find('i').length) {
ariaLabel = "這是 icon";
}
// 如果是圖片連結,標示為照片 if ($a.attr('target') === '_blank') {
if ($this.find('img').length) { titleStr += '在新視窗開啟 ';
ariaLabel = "這是一張照片"; } else if ($a.attr('target') === '_self') {
} titleStr += '在本視窗開啟 ';
}
// 設定 aria-label if ($a.find('img').length) {
if (ariaLabel) { titleStr = '這是一張照片';
$this.attr('aria-label', ariaLabel); } 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 if (titleStr) {
$('a').each(function() { $a.attr('title', titleStr);
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 += '在新視窗開啟 ';
} }
// 決定 title 內容 });
var linkText = $this.text().trim(); $('a').each(function () {
if (linkText) { const $link = $(this);
titlestr += linkText; const linkText = $link.text().trim();
} 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);
}
});
// for(var i=0;i<$('a').length;i++){ $link.find('img').each(function () {
// if($('a').eq(i).attr("href") != "" || $('a').eq(i).attr("href") != undefined ){ const $img = $(this);
// var titlestr=""; const altText = $img.attr('alt')?.trim();
// if($('a').eq(i).attr('target')=='_self')
// titlestr += '在本視窗開啟 '; // 如果圖片 alt 是空的,就略過(已符合)
// else if($('a').eq(i).attr('target') == '_blank') if (altText === '') return;
// titlestr += '在新視窗開啟 ';
// if($('a').eq(i).attr('title') == "" || $('a').eq(i).attr('title')==undefined && $('a').eq(i).html().search('</') == -1) // 如果圖片 alt 等於文字內容,就將 alt 清空,避免重複
// titlestr += $('a').eq(i).html().trim(); if (altText === linkText) {
// else if($('a').eq(i).attr('title') == "" || $('a').eq(i).attr('title') == undefined && $('a').eq(i).find('>span').length==1) $img.attr('alt', '');
// 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);
// };
// };
// 刪除banner-slide的空連結和空連結目標 // 刪除banner-slide的空連結和空連結目標
for(var i=0;i<$('.w-ba-banner__slide a').length;i++){ 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 () { $(document).ready(function () {
if ($(".main-content .video_detail").length > 0) { if ($(".main-content .video_detail").length > 0) {
$('.videopagenone').css("display","none"); $('.videopagenone').css("display","none");
@ -831,7 +1000,7 @@ $(document).ready(function () {
$(this).html(decodedHtml); // 設置為真正的 HTML $(this).html(decodedHtml); // 設置為真正的 HTML
}); });
$(".video_group_time").each(function () { $(".video_group_time").each(function () {
var $this = $(this); // 當前 .video_group_time var $this = $(this);
// 找到對應的 <q>,並移動到 .video_group_time 內部 // 找到對應的 <q>,並移動到 .video_group_time 內部
var $q = $this.closest(".imglst_desc").find(".movie_desc q"); var $q = $this.closest(".imglst_desc").find(".movie_desc q");
if ($q.length) { if ($q.length) {
@ -895,22 +1064,8 @@ $(document).ready(function () {
clearInterval(interval); clearInterval(interval);
} }
}, 1000); }, 1000);
}); //改變日期格式
$(".video_group_time").each(function () {
// 當文件物件模型(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 () {
var $this = $(this); var $this = $(this);
var originalText = $this.text().trim(); var originalText = $this.text().trim();
// 把 YYYY-MM-DD 轉換成 M月D日 // 把 YYYY-MM-DD 轉換成 M月D日
@ -922,6 +1077,87 @@ $(document).ready(function () {
// 更新內容並加上 <q> // 更新內容並加上 <q>
$this.html(formattedText).append($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 //常用到的js
// $('.').after($('.')); // $('.').after($('.'));
// $('.').before($('.')); // $('.').before($('.'));
@ -929,6 +1165,19 @@ $(document).ready(function () {
// if($('.show-announcement').hasClass('show-announcement')) { // if($('.show-announcement').hasClass('show-announcement')) {
// $('.').css('', ''); // $('.').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>'); $(".mybooking").append('<i class="fa-solid fa-circle-user"></i>');
//內頁dattpp移位 //內頁dattpp移位
$('.i-annc__page-title').after($('.sitemenu-wrap2')); $('.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')); $('.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)")); $(".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")); $(".nav-pills").before($(".show-member .table-striped > tbody > tr:last-child"));
//檔案室手風琴 //檔案室手風琴
$('.panel-title>.collapsed').click(function(){ $('.panel-title>.collapsed').click(function(){
$(this).find('.fa').toggleClass("fa-chevron-down"); $(this).find('.fa').toggleClass("fa-chevron-down");
@ -994,11 +1240,6 @@ $(document).ready(function () {
}else{ }else{
$('.outdropdowns').before($('.header-nav')); $('.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 .sitemenu-dropdown-toggle').click(function(){
$('.sitemenu-vertical .dropdown-menu').slideToggle(); $('.sitemenu-vertical .dropdown-menu').slideToggle();
$(".sitemenu-vertical .sitemenu-dropdown-toggle").toggleClass("fa-caret-down"); $(".sitemenu-vertical .sitemenu-dropdown-toggle").toggleClass("fa-caret-down");
@ -1019,7 +1260,6 @@ $(document).ready(function () {
$('.list-unstyled>li:nth-child(n+5)').slideToggle(); $('.list-unstyled>li:nth-child(n+5)').slideToggle();
$(".morebken .fa-chevron-down").toggleClass("rotate"); $(".morebken .fa-chevron-down").toggleClass("rotate");
$(".openmorebken").toggleClass("closemorebken"); $(".openmorebken").toggleClass("closemorebken");
}); });
//RWD 自動縮放headerbannner //RWD 自動縮放headerbannner
function headerH() { function headerH() {
@ -1093,91 +1333,172 @@ $(document).ready(function () {
// $('.outdropdowns').removeClass('navFixed'); /* 移除選單固定效果 */ // $('.outdropdowns').removeClass('navFixed'); /* 移除選單固定效果 */
// } // }
// }); // });
$('.navbar-brand h2').replaceWith(function() { // $('.navbar-brand h2').replaceWith(function() {
return $("<h1>", { // return $("<h1>", {
class: this.className, // class: this.className,
html: $(this).html() // html: $(this).html()
}); // });
}); // });
$('#search'). attr('title', '另開新視窗'); $('#search'). attr('title', '另開新視窗');
$(window).scroll(function() { $(window).scroll(function () {
var windowBottom = $(window).scrollTop() + $(window).innerHeight(); var windowTop = $(window).scrollTop();
$('.hide0').each(function() { var windowBottom = windowTop + $(window).innerHeight();
var mid = $(this).offset().top + $(this).height()/2;
if( mid < windowBottom && mid > $(window).scrollTop()){ function handleAnimationOnce(selector, animationClass, offsetRatio = 0.5) {
$(this).addClass('animationvisible') $(selector).each(function () {
} else { var elementTop = $(this).offset().top;
$(this).removeClass('animationvisible') var elementHeight = $(this).height();
} var triggerPoint = elementTop + elementHeight * offsetRatio;
})
$('.hide1').each(function() { if (
var mid = $(this).offset().top + $(this).height()/2; triggerPoint >= windowTop &&
if( mid < windowBottom && mid > $(window).scrollTop()){ triggerPoint <= windowBottom &&
$(this).addClass('animationvisible1') !$(this).hasClass(animationClass)
} else { ) {
$(this).removeClass('animationvisible1') $(this).addClass(animationClass);
} }
}) });
$('.hide2').each(function() { }
var mid = $(this).offset().top + $(this).height()/2;
if( mid < windowBottom && mid > $(window).scrollTop()){ handleAnimationOnce('.hide0', 'animationvisible', 0.1);
$(this).addClass('animationvisible2') handleAnimationOnce('.hide1', 'animationvisible1', 0.5);
} else { handleAnimationOnce('.hide2', 'animationvisible2', 0.5);
$(this).removeClass('animationvisible2') handleAnimationOnce('.hide3', 'animationvisible3', 0.5);
} handleAnimationOnce('.rotate0', 'animationrotate0', 0.5);
}) handleAnimationOnce('.zoomin', 'animationvisible5', 0.5);
$('.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')
}
})
})
init(); 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');
});
// // //選單 // 监听 #language 元素被 Tab 键选中时
// $(document).ready(function() { $('#language-li-ul li').on('focus', function() {
// // 给 #language 内部的 ul 元素添加 show 类
// //drop down menu $(this).find('ul').addClass('show');
// $(".dropdown-toggle").hover(function() { });
// $('.modules-menu-level-1').addClass('display-on'); $('#language-li-ul li ul > li:last-child>a').on('blur', function() {
// }); $('#language-li-ul li ul').removeClass('show');
// $(".dropdown-toggle").mouseleave(function() { });
// $('.modules-menu-level-1').removeClass('display-on'); $('.orbit-bar-title a').on('focus', function() {
// }); $('#language-li-ul li ul').removeClass('show');
// });
// });
// $(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-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 //選單樣式2
$(document).ready(function() { $(document).ready(function() {
"use strict"; "use strict";

View File

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

View File

@ -2,6 +2,36 @@
@import "../initial"; @import "../initial";
@import "variables"; @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{ #orbit-bar .orbit-bar-inner > ul > li > ul li{
list-style: none!important; list-style: none!important;
} }
@ -33,8 +63,9 @@ a:focus {
} }
img { img {
max-width: 100%; width: 100%;
height: auto; height: 100%;
object-fit: cover;
} }
.admin-edit { .admin-edit {
@ -120,7 +151,11 @@ a.btn-primary {
} }
} }
} }
img{
width: 100%;
height: 100%;
object-fit: cover;
}
// Take care of exceeding content // Take care of exceeding content
// body[data-module="page_content"], // body[data-module="page_content"],
// body[data-module="announcement"] { // body[data-module="announcement"] {
@ -128,3 +163,6 @@ a.btn-primary {
// overflow-x: auto; // 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"; @charset "utf-8";
@import "variables"; @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 // Title
.unity-title { .unity-title {
margin: 0.5em 0;
line-height: 1.5; line-height: 1.5;
font-family: $main-font;
font-size: $font-h3; font-size: $font-h3;
font-weight: bold; font-weight: bold;
color: $theme-color-main; color: $theme-color-main;
display: -webkit-box; text-align: center;
.layout-footer & { .layout-footer & {
margin-bottom: 0.625em; margin-bottom: 0.625em;
border-bottom: none; border-bottom: none;
span { span {
display: inline; display: inline;
margin-bottom: 0; margin-bottom: 0;

View File

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

View File

@ -9,12 +9,11 @@
.verticalhome{ .verticalhome{
position: relative; position: relative;
width: 100%; width: 100%;
background-color: #F8F9FA;
overflow: hidden; overflow: hidden;
} }
.internal-page{ .internal-page{
.layout-content{ .layout-content{
background: #F8F9FA; background: transparent;
padding-bottom: 4em; padding-bottom: 4em;
} }
} }
@ -130,3 +129,70 @@
.image-carousel{ .image-carousel{
padding: 15px 0px 25px 0px; 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"; @import "../initial";
.layout-footer { .layout-footer {
z-index: 1;
clear: both; clear: both;
background:#1a1b20; background:#1a1b20;
position: relative; position: relative;
padding: 2em 0; padding: 2em 0;
color: $theme-color-main; color: $theme-color-main;
font-size: 0.8125em; font-size: 0.8125em;
.footer-updated-date{
clear: both;
padding-left: 1em;
}
ul{ ul{
padding: 0; padding: 0;
} }
@ -54,6 +59,8 @@
font-size: 0.8125em; font-size: 0.8125em;
border: #e0e0e0 1px solid; border: #e0e0e0 1px solid;
padding: 0.5em 1em; padding: 0.5em 1em;
display: inline-block;
margin-bottom: 1em;
} }
.fatfooter{ .fatfooter{
display: none; display: none;

View File

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

View File

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

View File

@ -8,6 +8,10 @@
// Widget // Widget
// ## gerenral styles // ## gerenral styles
ul.button-mid{
margin:0;
z-index: 101;
}
.banner-pager .active-slide button{ .banner-pager .active-slide button{
background: $theme-color-second!important; background: $theme-color-second!important;
} }
@ -18,8 +22,6 @@ iframe{
border:0; border:0;
} }
.w-ba-banner { .w-ba-banner {
position: relative;
height: fit-content !important;
.cursor { .cursor {
cursor: pointer; cursor: pointer;
} }
@ -232,12 +234,15 @@ ul.button-mid{
z-index: 102; z-index: 102;
display: none; display: none;
} }
.button-mid{
z-index: 101;
}
.ad-overlay{ .ad-overlay{
text-align: center; text-align: center;
position: relative; position: relative;
background: none; background: none;
color: #fff; color: #fff;
z-index: 99; z-index: 100;
padding-left: 10%; padding-left: 10%;
padding-right: 10%; padding-right: 10%;
// text-shadow: 1px 1px 1px #0000008c; // text-shadow: 1px 1px 1px #0000008c;
@ -246,7 +251,7 @@ ul.button-mid{
position: fixed; position: fixed;
top:0; top:0;
@media(max-width: 1500px){ @media(max-width: 1500px){
width: auto; // width: auto;
max-width: unset; max-width: unset;
// transform: translateX(-9%); // transform: translateX(-9%);
height: 100vh; height: 100vh;
@ -255,25 +260,25 @@ ul.button-mid{
&,& .jp-jplayer{ &,& .jp-jplayer{
@media(min-width:1801px){ @media(min-width:1801px){
.ad-overlay{ .ad-overlay{
bottom: 20%; bottom: 50%;
position: absolute; position: absolute;
} }
} }
@media screen and (min-width:1451px) and (max-width:1800px){ @media screen and (min-width:1451px) and (max-width:1800px){
.ad-overlay{ .ad-overlay{
bottom: 20%; bottom: 50%;
position: absolute; position: absolute;
} }
} }
@media screen and (min-width:1281px) and (max-width:1450px){ @media screen and (min-width:1281px) and (max-width:1450px){
.ad-overlay{ .ad-overlay{
bottom: 20%; bottom: 50%;
position: absolute; position: absolute;
} }
} }
@media screen and (min-width:1026px) and (max-width:1280px){ @media screen and (min-width:1026px) and (max-width:1280px){
.ad-overlay{ .ad-overlay{
bottom: 20%; bottom: 40%;
position: absolute; position: absolute;
} }
} }
@ -440,6 +445,7 @@ ul.button-mid{
} }
// Widget 7 // Widget 7
.ba-banner-widget-7 { .ba-banner-widget-7 {
position: relative;
@media(min-width:1024px){ @media(min-width:1024px){
display: flex; display: flex;
flex-direction: row-reverse; 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; z-index: 1;
.w-annc__widget-title { .w-annc__widget-title {
@extend .unity-title; @extend .unity-title;
display: block;
} }
.w-annc__list { .w-annc__list {
@ -1017,6 +1018,9 @@
} }
// Widget-24 // Widget-24
.widget-announcement-24 { .widget-announcement-24 {
.w-annc__widget-title{
display: block;
}
.cycle-carousel-wrap{ .cycle-carousel-wrap{
display: flex; display: flex;
align-items: baseline; align-items: baseline;
@ -1282,6 +1286,292 @@
transition: height .6s; 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-5
.widget-announcement-5 { .widget-announcement-5 {
.w-annc__title { .w-annc__title {
@ -1758,7 +2048,7 @@
} }
.w-annc__item{ .w-annc__item{
@media(min-width: 769px){ @media(min-width: 769px){
width: calc(33.3333% - 1em); width: calc(33.3333% - 2em);
} }
@media (min-width: $screen-xs) { @media (min-width: $screen-xs) {
margin-right: 0.5em; margin-right: 0.5em;
@ -2046,14 +2336,6 @@
} }
} }
.i-annc__img {
width: 100%;
max-width: 100%;
height: auto;
}
.i-annc__table{
}
.i-annc__th { .i-annc__th {
color: $theme-color-main; color: $theme-color-main;
@extend .i-title; @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{ .form-horizontal{
@media(min-width:769px){ @media(min-width:1025px){
margin: auto; margin: auto;
width: 60%; width: 60%;
} }

View File

@ -844,6 +844,341 @@
display: inline-block; 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{ .widget-event-news-calendar-2.w-calendar .w-calendar-title{
background:$theme-color-second; background:$theme-color-second;
} }

View File

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

View File

@ -361,6 +361,86 @@
.i-member-profile-item { .i-member-profile-item {
font-size: 1em; 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; line-height: 1.3;
padding-top: 0.5em; padding-top: 0.5em;
letter-spacing: 1px; letter-spacing: 1px;

View File

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

View File

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

View File

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

View File

@ -34,7 +34,8 @@
.widget-content{ .widget-content{
list-style: none; list-style: none;
@media(min-width: $screen-xs)and(max-width: 768px){ @media(min-width: $screen-xs)and(max-width: 768px){
width: 50% width: 50%!important;
margin:0 auto;
} }
} }
.widget-link__item{ .widget-link__item{
@ -44,11 +45,12 @@
padding: 0; padding: 0;
} }
.widget-content-title,.widget-content-context{ .widget-content-title,.widget-content-context{
display: -webkit-box; display: -webkit-box;
-webkit-line-clamp: 2; -webkit-line-clamp: 3;
-webkit-box-orient: vertical; -webkit-box-orient: vertical;
overflow: hidden; overflow: hidden;
text-overflow: ellipsis; text-overflow: ellipsis;
white-space: normal;
} }
.widget-link { .widget-link {
// layout-content 下的樣式 // layout-content 下的樣式
@ -92,9 +94,11 @@
} }
} }
&.widget2{ &.widget2{
.link-img-wrap{
height: 14em;
}
.list-unstyled{ .list-unstyled{
display: flex; display: flex;
justify-content: center;
flex-wrap: wrap; flex-wrap: wrap;
overflow: hidden; overflow: hidden;
li:nth-child(n+5){ li:nth-child(n+5){
@ -132,16 +136,23 @@
width: 20%; width: 20%;
padding: 2em; padding: 2em;
text-align: center; text-align: center;
@media(max-width:1200px)and(min-width: 769px){ @media(max-width:1200px)and(min-width: 1025px){
padding: 1em !important; padding: 1em !important;
} }
@media(max-width:1024px){ @media(max-width:1024px)and(min-width: 769px){
width: 33.3% !important; width: 33.3% !important;
padding: 0.5em !important; padding: 0.5em !important;
} }
@media(max-width:$screen-xs){
width: 50% !important;
padding: 0.5em !important;
}
.link-img-wrap{ .link-img-wrap{
border-radius:10em; border-radius:10em;
width: 10em;
height: 10em;
overflow: hidden; overflow: hidden;
margin: auto;
&:hover{ &:hover{
border-radius:2em; border-radius:2em;
-webkit-transition: .3s all ease; -webkit-transition: .3s all ease;
@ -177,13 +188,17 @@
} }
} }
} }
&.widget8{ &.widget8{
.widget-content{ .widget-content{
padding-top: 2em; padding-top: 2em;
@media(max-width:$screen-xs){
width: 100%;
}
} }
.link-img-wrap{ .link-img-wrap{
border-radius: 2em; border-radius: 2em;
overflow: hidden; overflow: hidden;
height: 20em;
&:hover{ &:hover{
img{ img{
transform: scale(1.2) translateY(-1%); transform: scale(1.2) translateY(-1%);
@ -196,7 +211,107 @@
img{ img{
width: 100%; 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 // Link INDEX

View File

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

View File

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

View File

@ -19,22 +19,24 @@
</div> </div>
<header class="navbar layout-header no-print" role="navigation"> <header class="navbar layout-header no-print" role="navigation">
<div class="outdropdowns"> <div class="outdropdowns kenjohn">
<div class="container dropdowns"> <div class="container dropdowns">
<div class="navbar-header"> <div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#layout-navigation"> <a title="{{site_title_1}}" class="navbar-brand" href="{{home_link_1}}"><img class="site-logo" src="{{logo_url_1}}" alt="site-logo"></a>
<span class="sr-only">Toggle navigation</span> <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>
<span class="icon-bar icon-bar-top"></span> <a title="{{site_title}}" class="navbar-brand" href="{{home_link}}"><img class="site-logo" src="{{logo_url}}" alt="site-logo"> {{site_name}}</a>
<span class="icon-bar icon-bar-middle"></span> <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#layout-navigation">
<span class="icon-bar icon-bar-bottom"></span> <span class="sr-only">Toggle navigation</span>
</button> <span class="icon-bar icon-bar-top"></span>
<a title="{{site_title_1}}" class="navbar-brand" href="{{home_link_1}}"><img class="site-logo" src="{{logo_url_1}}" alt="site-logo"></a> <span class="icon-bar icon-bar-middle"></span>
<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> <span class="icon-bar icon-bar-bottom"></span>
<a title="{{site_title}}" class="navbar-brand" href="{{home_link}}"><img class="site-logo" src="{{logo_url}}" alt="site-logo"> {{site_name}}</a> </button>
</div> </div>
<div class="header-nav"> <div class="header-nav">
<a id="accesskey_top" accesskey="U" title="accesskey top" href="#" title="Toolbar">:::</a> <div class="container">
{{header-data}} <a id="accesskey_top" accesskey="U" title="accesskey top" href="#" title="Toolbar">:::</a>
{{header-data}}
</div>
</div> </div>
<div class="collapse navbar-collapse modules-menu" id="layout-navigation"> <div class="collapse navbar-collapse modules-menu" id="layout-navigation">
<a id="accesskey_menu" title="accesskey menu" accesskey="M" href="#" title="Main menu">:::</a> <a id="accesskey_menu" title="accesskey menu" accesskey="M" href="#" title="Main menu">:::</a>

View File

@ -9,7 +9,13 @@
<%= render_orbit_bar %> <%= render_orbit_bar %>
<div class="background" data-pp="100"></div> <div class="background" data-pp="100"></div>
<%= render_header %> <%= 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-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="video-banner" data-pp="301" ></div>
<div class="verticalhome"> <div class="verticalhome">
<div class="layout-content topcontent"> <div class="layout-content topcontent">

View File

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

View File

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

View File

@ -27,11 +27,18 @@
</div> </div>
<div class="w-ad-banner__caption ad-overlay w-ba-banner__caption w-ad-banner__caption w-ad-banner__overlay_{{subpart-id}}"></div> <div class="w-ad-banner__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"> <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> </div>
<ul class="controlplay"> <ul class="controlplay" role="radiogroup" aria-label="播放控制選項">
<a role="button" class="resume-slide" title = "<%= (I18n.locale.to_s =="zh_tw") ? "繼續播放" : "resume" %>"><i></i></a> <a role="radio" aria-checked="true" href="javascript:;" class="resume-slide active" title="繼續播放" aria-label="繼續播放" aria-live="assertive">
<a class="pause-slide" title = "<%= (I18n.locale.to_s =="zh_tw") ? "暫停播放" : "pause"%>"><i></i></a> <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>
<ul class="button-mid"> <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-left prev-button" aria-label="<%= I18n.t("ad_banner.prev") %>"></i>

View File

@ -30,11 +30,18 @@
</div> </div>
<div class="w-ad-banner__caption ad-overlay w-ba-banner__caption w-ad-banner__caption w-ad-banner__overlay_{{subpart-id}}"></div> <div class="w-ad-banner__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"> <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> </div>
<ul class="controlplay"> <ul class="controlplay" role="radiogroup" aria-label="播放控制選項">
<a role="button" class="resume-slide" title = "<%= (I18n.locale.to_s =="zh_tw") ? "繼續播放" : "resume" %>"><i></i></a> <a role="radio" aria-checked="true" href="javascript:;" class="resume-slide active" title="繼續播放" aria-label="繼續播放" aria-live="assertive">
<a class="pause-slide" title = "<%= (I18n.locale.to_s =="zh_tw") ? "暫停播放" : "pause"%>"><i></i></a> <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>
<ul class="button-mid"> <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-left prev-button" aria-label="<%= I18n.t("ad_banner.prev") %>"></i>

View File

@ -30,7 +30,17 @@
</div> </div>
</div> </div>
<ul class="w-ba-banner__pager-2 banner-pager banner_caption_{{subpart-id}}"></ul> <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"> <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-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> <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-timeout="{{timeout}}"
data-cycle-fx="{{ad_fx}}" data-cycle-fx="{{ad_fx}}"
data-pager=".banner_caption_{{subpart-id}}" 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-pager-active-class="active-slide"
data-cycle-youtube="true" data-cycle-youtube="true"
data-cycle-youtube-autostart="false" data-cycle-youtube-autostart="false"
@ -26,9 +26,16 @@
</div> </div>
<div class="ad-overlay w-ad-banner__overlay_{{subpart-id}}"></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> <div class="w-ba-banner__caption w-ad-banner__pager-2 banner-pager banner_caption_{{subpart-id}}"></div>
<ul class="controlplay"> <ul class="controlplay" role="radiogroup" aria-label="播放控制選項">
<a role="button" class="resume-slide" title = "<%= (I18n.locale.to_s =="zh_tw") ? "繼續播放" : "resume" %>"><i></i></a> <a role="radio" aria-checked="true" href="javascript:;" class="resume-slide active" title="繼續播放" aria-label="繼續播放" aria-live="assertive">
<a class="pause-slide" title = "<%= (I18n.locale.to_s =="zh_tw") ? "暫停播放" : "pause"%>"><i></i></a> <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>
<ul class="button-mid"> <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-left prev-button" aria-label="<%= I18n.t("ad_banner.prev") %>"></i>
@ -110,9 +117,19 @@
} }
}); });
button_container.find('.jarallax-video-audio').remove(); 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){ 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(){ control_play_btn.click(function(){
var cycle_slideshow = button_container.find('.cycle-slideshow'); var cycle_slideshow = button_container.find('.cycle-slideshow');
var opts = cycle_slideshow.data('cycle.opts'); var opts = cycle_slideshow.data('cycle.opts');
@ -387,10 +404,9 @@
controlplay.find(".pause-slide").removeClass("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",""); banner_wrap.css("padding-bottom","");
{{extra_document_ready_script}} {{extra_document_ready_script}}
$('[data-subpart-id="{{subpart-id}}"] .pause-slide').click(function(){ $('[data-subpart-id="{{subpart-id}}"] .pause-slide').click(function(){
@ -409,7 +425,8 @@
$('[data-subpart-id="{{subpart-id}}"] .prev-button').click(function(){ $('[data-subpart-id="{{subpart-id}}"] .prev-button').click(function(){
$(this).parent("ul").parent('.w-ba-banner').find(".cycle-slideshow").cycle("prev"); $(this).parent("ul").parent('.w-ba-banner').find(".cycle-slideshow").cycle("prev");
}) })
}) });
</script> </script>
<style type="text/css"> <style type="text/css">
.jarallax-video-audio, .jarallax-video-control-play{ .jarallax-video-audio, .jarallax-video-control-play{

View File

@ -27,17 +27,34 @@
</div> </div>
</div> </div>
<ul class="w-ba-banner__pager-3 banner-pager banner_caption_{{subpart-id}}"></ul> <ul class="w-ba-banner__pager-3 banner-pager banner_caption_{{subpart-id}}"></ul>
<ul class="controlplay"> <ul class="controlplay" role="radiogroup" aria-label="播放控制選項">
<a role="button" class="resume-slide" title = "<%= (I18n.locale.to_s =="zh_tw") ? "繼續播放" : "resume" %>"><i></i></a> <a role="radio" aria-checked="true" href="javascript:;" class="resume-slide active" title="繼續播放" aria-label="繼續播放" aria-live="assertive">
<a class="pause-slide" title = "<%= (I18n.locale.to_s =="zh_tw") ? "暫停播放" : "pause"%>"><i></i></a> <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>
<ul class="button-mid"> <ul class="button-mid">
<button class="prev-button" title = "<%= (I18n.locale.to_s =="zh_tw") ? "上一張" : "prev" %>"></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" %>"></button> <button class="next-button" title = "<%= (I18n.locale.to_s =="zh_tw") ? "下一張" : "next" %>" aria-label="Pager"></button>
</ul> </ul>
</div> </div>
<script> <script>
var flag = 1; 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(){ $('.pause-slide').click(function(){
$(this).parent("ul").parent('.w-ba-banner').find(".cycle-slideshow").cycle('pause'); $(this).parent("ul").parent('.w-ba-banner').find(".cycle-slideshow").cycle('pause');
}); });

View File

@ -34,9 +34,16 @@
</div> </div>
</div> </div>
<div class="w-ba-banner__caption banner-pager banner_caption_{{subpart-id}}"></div> <div class="w-ba-banner__caption banner-pager banner_caption_{{subpart-id}}"></div>
<ul class="controlplay"> <ul class="controlplay" role="radiogroup" aria-label="播放控制選項">
<a role="button" class="resume-slide" title = "<%= (I18n.locale.to_s =="zh_tw") ? "繼續播放" : "resume" %>"><i></i></a> <a role="radio" aria-checked="true" href="javascript:;" class="resume-slide active" title="繼續播放" aria-label="繼續播放" aria-live="assertive">
<a class="pause-slide" title = "<%= (I18n.locale.to_s =="zh_tw") ? "暫停播放" : "pause"%>"><i></i></a> <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>
<ul class="button-mid"> <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-left prev-button" aria-hidden="true" title = "<%= (I18n.locale.to_s =="zh_tw") ? "上一張" : "prev" %>"></i>

View File

@ -30,11 +30,18 @@
</div> </div>
<div class="ad-overlay w-ba-banner__caption w-ad-banner__caption w-ad-banner__overlay_{{subpart-id}}"></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"> <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> </div>
<ul class="controlplay"> <ul class="controlplay" role="radiogroup" aria-label="播放控制選項">
<a role="button" class="resume-slide" title = "<%= (I18n.locale.to_s =="zh_tw") ? "繼續播放" : "resume" %>"><i></i></a> <a role="radio" aria-checked="true" href="javascript:;" class="resume-slide active" title="繼續播放" aria-label="繼續播放" aria-live="assertive">
<a class="pause-slide" title = "<%= (I18n.locale.to_s =="zh_tw") ? "暫停播放" : "pause"%>"><i></i></a> <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>
<ul class="button-mid"> <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-left prev-button" aria-hidden="true" title = "<%= (I18n.locale.to_s =="zh_tw") ? "上一張" : "prev" %>"></i>

View File

@ -30,11 +30,15 @@
</div> </div>
<div class="w-ad-banner__caption ad-overlay w-ba-banner__caption w-ad-banner__caption w-ad-banner__overlay_{{subpart-id}}"></div> <div class="w-ad-banner__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"> <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> </div>
<ul class="controlplay"> <ul class="controlplay">
<a role="button" class="resume-slide" title = "<%= (I18n.locale.to_s =="zh_tw") ? "繼續播放" : "resume" %>"><i></i></a> <a href="javascript:;" class="resume-slide active" title="<%= I18n.t("ad_banner.resume") %>" aria-label="<%= I18n.t("ad_banner.resume") %>">
<a class="pause-slide" title = "<%= (I18n.locale.to_s =="zh_tw") ? "暫停播放" : "pause"%>"><i></i></a> <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>
<ul class="button-mid"> <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-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-visible="3"
data-cycle-carousel-fluid="true" data-cycle-carousel-fluid="true"
data-pager=".banner_caption_{{subpart-id}}" 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-pager-active-class="active-slide"
data-cycle-youtube="true" data-cycle-youtube="true"
data-cycle-youtube-autostart="false" 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 )" "en" : "8. 3 Pro Carousel ( image, Youtube video, navigation )"
}, },
"thumbnail" : "thumb.png" "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> <h3 class="i-annc__page-title">{{page-title}}</h3>
<ul class="i-annc__list row" data-level="0" data-list="announcements"> <ul class="i-annc__list row" data-level="0" data-list="announcements">
<li class="i-annc__item col-md-3 col-sm-3"> <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"> <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="" title="{{img_description}}">
<img class="i-annc__img" src="{{img_src}}" alt="{{img_description}}" title="{{img_description}}">
</a>
</div> </div>
<div class="i-annc__content-wrap"> <div class="i-annc__content-wrap">
<div class="i-annc__meta"> <div class="i-annc__meta">
@ -22,10 +21,11 @@
</span> </span>
</div> </div>
<h4 class="i-annc__entry-title"> <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> </h4>
<p class="i-annc__subtitle">{{subtitle}}</p> <p class="i-annc__subtitle">{{subtitle}}</p>
</div> </div>
</a>
</li> </li>
</ul> </ul>
</div> </div>

View File

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

View File

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

View File

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

View File

@ -242,6 +242,14 @@
}, },
"thumbnail": "annc_widget22_thumbs.png" "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", "filename": "annc_widget5",

View File

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

View File

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

View File

@ -31,7 +31,7 @@
<div class="left-fullslider col-lg-7 col-xs-12"> <div class="left-fullslider col-lg-7 col-xs-12">
<a href="{{link_to_show}}"> <a href="{{link_to_show}}">
<img src="{{img_url_thumb}}" alt="{{title}}"> <img src="{{img_url_thumb}}" alt="{{title}}">
</a> </a>
</div> </div>
<div class="right-fullslider col-lg-5 col-xs-12"> <div class="right-fullslider col-lg-5 col-xs-12">
<div class="right-box"> <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> <h3 class="i-annc__page-title">{{page-title}}</h3>
<ul class="i-annc__list" data-level="0" data-list="event_news"> <ul class="i-annc__list" data-level="0" data-list="event_news">
<li class="i-annc__item row"> <li class="i-annc__item row">
<a href="{{link_to_show}}" title="{{img_description}}">
<div class="i-annc__img-wrap col-sm-4"> <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>
<div class="i-annc__content-wrap col-sm-8"> <div class="i-annc__content-wrap col-sm-8">
<div class="i-annc__meta"> <div class="i-annc__meta">
@ -20,10 +21,11 @@
</span> </span>
</div> </div>
<h4 class="i-annc__entry-title"> <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> </h4>
<p class="i-annc__subtitle">{{subtitle}}</p> <p class="i-annc__subtitle">{{subtitle}}</p>
</div> </div>
</a>
</li> </li>
</ul> </ul>
</div> </div>

View File

@ -2,6 +2,7 @@
<h3 class="i-annc__page-title">{{page-title}}</h3> <h3 class="i-annc__page-title">{{page-title}}</h3>
<ul class="i-annc__list" data-level="0" data-list="event_news"> <ul class="i-annc__list" data-level="0" data-list="event_news">
<li class="i-annc__item row"> <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__content-wrap col-sm-8">
<div class="i-annc__meta"> <div class="i-annc__meta">
<span class="i-annc__status-wrap" data-list="statuses" data-level="1"> <span class="i-annc__status-wrap" data-list="statuses" data-level="1">
@ -17,13 +18,14 @@
</span> </span>
</div> </div>
<h4 class="i-annc__entry-title"> <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> </h4>
<p class="i-annc__subtitle">{{subtitle}}</p> <p class="i-annc__subtitle">{{subtitle}}</p>
</div> </div>
<div class="i-annc__img-wrap col-sm-4"> <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>
</a>
</li> </li>
</ul> </ul>
</div> </div>

View File

@ -2,8 +2,9 @@
<h3 class="i-annc__page-title">{{page-title}}</h3> <h3 class="i-annc__page-title">{{page-title}}</h3>
<ul class="i-annc__list row" data-level="0" data-list="event_news"> <ul class="i-annc__list row" data-level="0" data-list="event_news">
<li class="i-annc__item col-md-4"> <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"> <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>
<div class="i-annc__content-wrap"> <div class="i-annc__content-wrap">
<div class="i-annc__meta"> <div class="i-annc__meta">
@ -20,10 +21,12 @@
</span> </span>
</div> </div>
<h4 class="i-annc__entry-title"> <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> </h4>
<p class="i-annc__subtitle">{{subtitle}}</p> <p class="i-annc__subtitle">{{subtitle}}</p>
<p class="s-annc__post-notes">{{notes}}</p>
</div> </div>
</a>
</li> </li>
</ul> </ul>
</div> </div>

View File

@ -159,6 +159,14 @@
"en": "20. Standard Title List-4 ( category, EventDate, speaker, EventDate, status, title, EndDate, view-count)" "en": "20. Standard Title List-4 ( category, EventDate, speaker, EventDate, status, title, EndDate, view-count)"
}, },
"thumbnail": "event_news_index1_thumbs.png" "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": [ "widgets": [

View File

@ -55,6 +55,14 @@
"en" : "7. three Columns (category title, photo and customized profile data)" "en" : "7. three Columns (category title, photo and customized profile data)"
}, },
"thumbnail" : "member_index5_thumb.png" "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> <thead>
<tr data-list="head-columns" data-level="0"> <tr data-list="head-columns" data-level="0">
<th class="col-ken"> <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}}"> <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"> <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> <i class="fa fa-search"></i>
@ -110,7 +110,7 @@
</form> </form>
</div> </div>
</div> </div>
<div class="universal-th-text {{title-class}}">{{title}}</div> <div class="universal-th-text {{title-class}}">{{title}}</div>
</th> </th>
</tr> </tr>
</thead> </thead>

View File

@ -72,7 +72,7 @@
<thead> <thead>
<tr data-list="head-columns" data-level="0"> <tr data-list="head-columns" data-level="0">
<th class="col-ken"> <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}}"> <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"> <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> <i class="fa fa-search"></i>
@ -88,7 +88,7 @@
</form> </form>
</div> </div>
</div> </div>
<div class="universal-th-text {{title-class}}">{{title}}</div> <div class="universal-th-text {{title-class}}">{{title}}</div>
</th> </th>
</tr> </tr>
</thead> </thead>

View File

@ -74,15 +74,15 @@
<table class="table table-hover table-striped universal-table-index universal-table-index3"> <table class="table table-hover table-striped universal-table-index universal-table-index3">
<div class="searchbtn"> <div class="searchbtn">
<div class="ken-click"> <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 {{reset}}"><i class="fa fa-refresh"></i> Reset</a>
<a href="{{url}}" class="universal-btn btn btn-info pull-right {{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> </div>
<div class="searchbox"> <div class="searchbox">
<div class="theadsearch2"> <div class="theadsearch2">
<div class="row col-md-11 col-xs-12" data-list="searchable-columns" data-level="0"> <div class="row col-md-11 col-xs-12" data-list="searchable-columns" data-level="0">
<div class="{{col-class}}"> <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="universal-th-text {{title-class}}">{{title}}</div>
<div class="dropdown universal-dropdown {{search}}"> <div class="dropdown universal-dropdown {{search}}">
<div class="dropdown-menu universal-dropdown-menu" aria-labelledby="dLabel"> <div class="dropdown-menu universal-dropdown-menu" aria-labelledby="dLabel">
@ -105,10 +105,10 @@
<thead class="theadsearch"> <thead class="theadsearch">
<tr data-list="head-columns" data-level="0"> <tr data-list="head-columns" data-level="0">
<th class="col-ken"> <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="universal-th-text {{title-class}}">{{title}}</div>
<div class="dropdown universal-dropdown {{search}}"> <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> <i class="fa fa-search"></i>
<span class="caret"></span> <span class="caret"></span>
</button> </button>
@ -136,6 +136,7 @@
<div>{{export_button}}</div> <div>{{export_button}}</div>
{{pagination_goes_here}} {{pagination_goes_here}}
<script> <script>
// $(document).ready(function(){ // $(document).ready(function(){
// $("tr>th:first-child").removeClass("col-md-3"); // $("tr>th:first-child").removeClass("col-md-3");
// $("tr>th:first-child").addClass("col-md-1"); // $("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"> <table class="table table-hover table-striped universal-table-index universal-table-index4">
<div class="searchbtn"> <div class="searchbtn">
<div class="ken-click"> <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 {{reset}}"><i class="fa fa-refresh"></i> Reset</a>
<a href="{{url}}" class="universal-btn btn btn-info pull-right {{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> </div>
<div class="searchbox"> <div class="searchbox">
<div class="theadsearch2"> <div class="theadsearch2">
<div class="row col-md-11 col-xs-12" data-list="searchable-columns" data-level="0"> <div class="row col-md-11 col-xs-12" data-list="searchable-columns" data-level="0">
<div class="{{col-class}}"> <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="universal-th-text {{title-class}}">{{title}}</div>
<div class="dropdown universal-dropdown {{search}}"> <div class="dropdown universal-dropdown {{search}}">
<div class="dropdown-menu universal-dropdown-menu" aria-labelledby="dLabel"> <div class="dropdown-menu universal-dropdown-menu" aria-labelledby="dLabel">
@ -99,10 +99,10 @@
<thead class="theadsearch"> <thead class="theadsearch">
<tr data-list="head-columns" data-level="0"> <tr data-list="head-columns" data-level="0">
<th class="col-ken"> <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="universal-th-text {{title-class}}">{{title}}</div>
<div class="dropdown universal-dropdown {{search}}"> <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> <i class="fa fa-search"></i>
<span class="caret"></span> <span class="caret"></span>
</button> </button>

View File

@ -2,8 +2,9 @@
<h3 class="widget-title"><span>{{widget-title}}</span></h3> <h3 class="widget-title"><span>{{widget-title}}</span></h3>
<ul class="video_data_wrap col-sm-12" data-list="videos" data-level="0"> <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}}"> <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="video_linkwrapper">
<div class="videohover"> <div class="videohover">
<div class="view_info"> <div class="view_info">
<span>{{view_count}}</span> <span>{{view_count}}</span>
@ -11,7 +12,9 @@
<div class="Video__Player"><button class="Video__PlayerButton"></button></div> <div class="Video__Player"><button class="Video__PlayerButton"></button></div>
<div class="videoduration"></div> <div class="videoduration"></div>
</div> </div>
<a class="video_link" href="{{video_show_url}}" title="{{video_title_escape}}">
<img class="video_snapshot" src="{{snapshot_url}}"/> <img class="video_snapshot" src="{{snapshot_url}}"/>
</a>
</div> </div>
<div class="video_info"> <div class="video_info">
<div class="video_length">{{video_duration}}</div> <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_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 class="video_desc"><a class="video_link" href="{{video_show_url}}" title="{{video_title_escape}}">{{video_desc}}</a></div>
</div> </div>
</a>
</li> </li>
</ul> </ul>
<div class="clearfix"></div> <div class="clearfix"></div>

View File

@ -13,6 +13,7 @@
</div> </div>
<img class="video_snapshot" src="{{snapshot_url}}"/> <img class="video_snapshot" src="{{snapshot_url}}"/>
</div> </div>
</a>
<div class="video_info"> <div class="video_info">
<div class="video_length">{{video_duration}}</div> <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> <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_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 class="video_desc"><a class="video_link" href="{{video_show_url}}" title="{{video_title_escape}}">{{video_desc}}</a></div>
</div> </div>
</a>
</li> </li>
</ul> </ul>
<div class="clearfix"></div> <div class="clearfix"></div>

View File

@ -110,8 +110,8 @@ $(document).ready(function () {
if ($pager.next(".pager-controls").length === 0) { if ($pager.next(".pager-controls").length === 0) {
$pager.after(` $pager.after(`
<div class="pager-controls"> <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="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"><i class="fa fa-angle-right next-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> </div>
`); `);
} }

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -5,14 +5,17 @@
<ul class="list-unstyled" data-level="0" data-list="web_link"> <ul class="list-unstyled" data-level="0" data-list="web_link">
<li class="widget-content widget-content-horizontal "> <li class="widget-content widget-content-horizontal ">
<a href="{{link_to_show}}" target="{{target}}" title="{{title_text}}"> <a href="{{link_to_show}}" target="{{target}}" title="{{title_text}}">
<div class="link-img-wrap{{display_image}}"> <div class="link-img-wrap{{display_image}}">
<img src="{{img_src}}" alt="{{img_description}}" title="{{img_description}}"> <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> </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> </li>
</ul> </ul>
<!-- <div class="morebken"><div class="openmorebken"></div><i class="fa-solid fa-chevron-down"></i></div> --> <!-- <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}}"> <div class="link-img-wrap{{display_image}}">
<img src="{{img_src}}" alt="{{img_description}}" title="{{img_description}}"> <img src="{{img_src}}" alt="{{img_description}}" title="{{img_description}}">
</div> </div>
<a class="widget-content-title" href="{{link_to_show}}" target="{{target}}" title="{{title_text}}">{{title}}</a> <div class="widget-content-title">
<span data-list="statuses" data-level="1"> <a class="" href="{{link_to_show}}" target="{{target}}" title="{{title_text}}">{{title}}</a>
<span class="label status {{status-class}}">{{status}}</span> <span data-list="statuses" data-level="1">
</span> <span class="label status {{status-class}}">{{status}}</span>
</a> </span>
</div>
</li> </li>
</ul> </ul>
</div> </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", "filename" : "web_res_widget2",
"name" : { "name" : {
"zh_tw" : "2. 橫式列表 ( 模組標題, 連結 )", "zh_tw" : "2. 收合橫式列表 ( 模組標題, 連結 )",
"en" : "2. Horizontal List (widget-title, link)" "en" : "2.close & open-Horizontal List (widget-title, link)"
}, },
"thumbnail" : "web_res_widget2_thumb.png" "thumbnail" : "web_res_widget2_thumb.png"
}, },
@ -81,6 +81,14 @@
"en" : "8. Horizontal List (widget-title, link)" "en" : "8. Horizontal List (widget-title, link)"
}, },
"thumbnail" : "web_res_widget8_thumb.png" "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"
} }
] ]
} }