1263 lines
44 KiB
JavaScript
1263 lines
44 KiB
JavaScript
;(function($, win, undefined) {
|
||
// ECMAScript 5 嚴格模式
|
||
'use strict';
|
||
|
||
// //header fixed在上方
|
||
// function initdata1() {
|
||
// if ( $('.homebanner').length != 0) {
|
||
// $('.layout-header').css('height', '');
|
||
// var scrollTop = $(window).scrollTop();
|
||
// var scrollBottom = $('html').height() - $(window).height() - $('.layout-header').height();
|
||
// if (scrollTop>5 && scrollBottom>0) { /* 要滑動到選單的距離 */
|
||
// if (parseInt($('.index-layout-content').css('margin-top'))==0){
|
||
// }
|
||
// $('.outdropdowns').addClass('navFixed'); /* 幫選單加上固定效果 */
|
||
// } else {
|
||
// if ($('.homebanner').html().trim() == "") {
|
||
// $('.outdropdowns').removeClass('navFixed');
|
||
// }else{
|
||
// $('.outdropdowns').removeClass('navFixed'); /* 移除選單固定效果 */
|
||
// }
|
||
|
||
// }
|
||
// }
|
||
// }
|
||
// 初始函數: 把所有的程式碼都包在init裡面,方便在之後的jQuery ready 函數裡一次呼叫
|
||
function init() {
|
||
// 快取一些常用的變數
|
||
var doc = document;
|
||
var lang = doc.documentElement.lang;
|
||
var pageModule = doc.body.getAttribute('data-module');
|
||
var resizeTimer = -1;
|
||
|
||
// 把所有的函數都包在orbit這個物件裡並按模組做簡單的分類
|
||
var orbit = {
|
||
|
||
// 工具函數,裡面包含可以重覆使用的函數
|
||
utils: {
|
||
// 字數限制函數, 因為系統預設沒有,所以使用JS來做
|
||
// els = 元素, maxLen = 限制長度
|
||
truncateText: function(els, maxLen) {
|
||
var els = doc.querySelectorAll(els);
|
||
var newTitle = '';
|
||
var i = -1;
|
||
var elsLen = els.length;
|
||
|
||
for (i = 0; i < elsLen; i++) {
|
||
if (els[i].firstChild !== null) {
|
||
if (els[i].firstChild.length > maxLen) {
|
||
newTitle = els[i].firstChild.textContent;
|
||
els[i].textContent = newTitle.substring(0, maxLen) + '...';
|
||
}
|
||
}
|
||
}
|
||
}
|
||
},
|
||
|
||
// // 外掛,所有的外掛都可以放到這個物件裡
|
||
// plugins: {
|
||
// // 自適應圖片裁切,Ray的外掛
|
||
// bullEye: function() {
|
||
// $('.bullseye').bullseye({
|
||
// fadeEffect: false
|
||
// });
|
||
// }
|
||
// },
|
||
|
||
// nav: {
|
||
// 自適應使用的下拉選單
|
||
// setDropdown: function() {
|
||
// var $caret1 = $('<i class="dropdown-toggle-icon level-1 fa fa-chevron-down"></i>');
|
||
// var $caret2 = $('<i class="dropdown-toggle-icon level-2 fa fa-chevron-down"></i>');
|
||
// var $li = null;
|
||
// var $this = null;
|
||
// var cls = 'active';
|
||
// var iconDown = 'fa-chevron-down';
|
||
// var iconUp = 'fa-chevron-up';
|
||
|
||
// // 如果有第二層選單,新增對應的類別到parent元素上
|
||
// $('.nav-level-1')
|
||
// .parent('li')
|
||
// .addClass('has-dropdown level-1');
|
||
|
||
// // 檢查是否已經有dropdown-toggle-icon這個元素,才不會在resize事件中重覆新增
|
||
// if ($('.has-dropdown.level-1 > .dropdown-toggle-icon').length < 1) {
|
||
// $caret1.appendTo('.has-dropdown.level-1');
|
||
|
||
// // 如果有第三層選單,新增對應的類別到parent元素上
|
||
// $('.nav-level-2')
|
||
// .parent('li')
|
||
// .addClass('has-dropdown level-2');
|
||
// $caret2.appendTo('.has-dropdown.level-2');
|
||
// }
|
||
|
||
// // 綁定事件到第二、三層下拉選單的按鈕上
|
||
// $('.dropdown-toggle-icon.level-1, .dropdown-toggle-icon.level-2').on('vclick', function(e) {
|
||
// e.preventDefault();
|
||
// $this = $(this);
|
||
// $li = $this.parent('li');
|
||
|
||
// // 拿掉所有選項除了目前點選的選項的 active class 並把icon換成預設的
|
||
// $li
|
||
// .siblings('li')
|
||
// .removeClass(cls)
|
||
// .find('.' + iconUp)
|
||
// .removeClass(iconUp)
|
||
// .addClass(iconDown);
|
||
|
||
|
||
// // 換掉目前選項的icon
|
||
// $li
|
||
// .find('> i')
|
||
// .removeClass(iconDown)
|
||
// .addClass(iconUp);
|
||
|
||
// // 折疊已打開的選項
|
||
// if ( $li.hasClass(cls) ){
|
||
// $li.removeClass(cls);
|
||
// $this.removeClass(iconUp).addClass(iconDown);
|
||
// }
|
||
// else{
|
||
// $li.addClass(cls)
|
||
// $this.removeClass(iconDown).addClass(iconUp);
|
||
// }
|
||
// });
|
||
// },
|
||
|
||
// 移除行動版下拉選單
|
||
// removeDropdown: function() {
|
||
// var $nav = $('#main-nav');
|
||
|
||
// $nav
|
||
// .find('.dropdown-toggle-icon')
|
||
// .remove();
|
||
// $nav
|
||
// .find('.active')
|
||
// .removeClass('active');
|
||
// }
|
||
// },
|
||
|
||
member: {
|
||
// 欄位相同高度,小心這個函數沒有計算到圖片高度,所以可能要搭配 jQuery load函數使用,或是之後使用更好的方式例如 CSS3 flexbox
|
||
equalHeight: function(el) {
|
||
var bigbrother = -1;
|
||
var $el = $(el);
|
||
$el.each(function(i) {
|
||
bigbrother = bigbrother > $el.eq(i).height() ? bigbrother : $el.eq(i).height();
|
||
});
|
||
|
||
$el.height(bigbrother);
|
||
},
|
||
|
||
// 把沒有完成資料的表格列藏起來, 因為後台不管有沒有資料都會輸出項目,所以需要在前台藏起來…
|
||
removeEmptyRow: function() {
|
||
// index 頁面項目
|
||
$('.i-member-profile-item .i-member-value').each(function() {
|
||
if ($(this).text().trim() === '' || $(this).text().trim() === ':') {
|
||
$(this).parent().addClass('hide');
|
||
}
|
||
});
|
||
|
||
// show 頁面項目
|
||
$('.show-member .member-data th, .show-member .member-data td').each(function() {
|
||
if ($(this).text().trim() === '') {
|
||
$(this).parent('tr').addClass('hide');
|
||
}
|
||
});
|
||
},
|
||
},
|
||
|
||
archives: {
|
||
// 把沒有文字內容的標題藏起來,因為就算是標題裡沒有文字系統仍然會輸出,這樣會造成一些多餘的CSS margins, paddings,或許之後也可以使用 CSS3 :empty selector 處理
|
||
// el = 要移除的元素
|
||
removeEmptyTitle: function(el) {
|
||
var $el = $(el);
|
||
var $els = $el.children();
|
||
|
||
$.each($els, function(i, val) {
|
||
if ($els.eq(i).text().trim() === '') {
|
||
$els.eq(i).addClass('hide');
|
||
}
|
||
});
|
||
|
||
$.each($el, function(i, val) {
|
||
if ($el.eq(i).children('.hide').length >= 2) {
|
||
$el.eq(i).addClass('hide');
|
||
}
|
||
});
|
||
},
|
||
|
||
// bootstarp panel 功能擴充,因為原本的功能不支援多個panel
|
||
extendPanel: function() {
|
||
var len = $('.i-archive .panel-title').length;
|
||
var i = -1;
|
||
if (len > 0) {
|
||
// 新增數字到要對應的panel按鈕id及href上面
|
||
for (i = 0; i < len; i++) {
|
||
$('.panel-title:eq(' + i + ') .collapsed').attr('href', '#collapse' + i);
|
||
$('.panel-collapse:eq(' + i + ')').attr('id', 'collapse' + i);
|
||
}
|
||
}
|
||
}
|
||
},
|
||
|
||
adBanner: {
|
||
// 讓AD banner 的圖片可以點選,因為系統預設輸出的圖片是沒有連結的
|
||
// els = 要可以點選的元素(需要配合有data-link這個參數及data-targe才能使用)
|
||
addLinkOnADBanner: function(els) {
|
||
$.each(els, function() {
|
||
if ($(this).data('link') !== '' && !$(this).hasClass('youtube')) {
|
||
$(this).on('click', function() {
|
||
var target = $(this).data('target');
|
||
var link = $(this).data('link');
|
||
|
||
// 設定頁面打開的方式,記得要加上data-target在HTML裡面
|
||
if (target === '_blank') {
|
||
window.open(link, target);
|
||
} else {
|
||
window.location.href = link;
|
||
}
|
||
}).addClass('cursor'); // cursor類別樣式定義在CSS裡面
|
||
}
|
||
});
|
||
},
|
||
|
||
},
|
||
|
||
|
||
|
||
// 移除行動版下拉選單
|
||
removeDropdown: function() {
|
||
var $nav = $('#main-nav');
|
||
|
||
$nav
|
||
.find('.menu-drop')
|
||
.remove();
|
||
$nav
|
||
.find('.opened')
|
||
.removeClass('opened');
|
||
},
|
||
// 網站次選單設定,如果次選單有第三層就新增下拉選單的圖示及加上bootstrap class
|
||
// els = 選單元素
|
||
sitemenuDropdown: function(els) {
|
||
var els = doc.querySelectorAll('.sitemenu-list.level-2');
|
||
var len = els.length;
|
||
var i = -1;
|
||
var caret = null;
|
||
|
||
for (i = 0; i < len; i++) {
|
||
if (els[i].children.length) {
|
||
caret = doc.createElement('span');
|
||
caret.className = 'sitemenu-dropdown-toggle fa fa-caret-down';
|
||
caret.setAttribute('data-toggle', 'dropdown');
|
||
|
||
els[i].parentNode.insertBefore(caret, els[i]);
|
||
els[i].className += ' dropdown-menu';
|
||
}
|
||
}
|
||
},
|
||
|
||
// 回到頁面最頂端,動態產生DOM
|
||
// txt = 按鈕的文字, speed = 捲動時的速度
|
||
goBackTop: function(txt, speed) {
|
||
var top = document.createElement('div');
|
||
top.className = 'go-back-top no-print';
|
||
top.textContent = txt || 'top';
|
||
doc.body.appendChild(top);
|
||
|
||
// 判斷是否顯示按鈕
|
||
$(window).scroll(function() {
|
||
if ($(this).scrollTop() !== 0) {
|
||
$('.go-back-top').fadeIn();
|
||
} else {
|
||
$('.go-back-top').fadeOut();
|
||
}
|
||
});
|
||
|
||
|
||
|
||
|
||
// 捲動效果
|
||
$('.go-back-top').on('click', function() {
|
||
$('body, html').animate({
|
||
scrollTop: 0
|
||
}, speed || 300);
|
||
return false;
|
||
});
|
||
},
|
||
|
||
// Multi-column layout, passing ID or class string as parameters and a
|
||
// Bootstrap col class for full width, eg: col-md-12
|
||
setColumn: function(leftCol, rightCol, columnCls) {
|
||
var $leftCol = $(leftCol);
|
||
var $rightCol = $(rightCol);
|
||
var columnCls = columnCls || 'col-sm-12';
|
||
|
||
if ($leftCol.length && $rightCol.length) {
|
||
$.each([$leftCol, $rightCol], function() {
|
||
if ($(this).is(':empty')) {
|
||
$(this)
|
||
.addClass('empty-column')
|
||
.siblings()
|
||
.removeClass(function(index, css) {
|
||
return (css.match(/(^|\s)col-\S+/g) || []).join(' ');
|
||
})
|
||
.addClass(columnCls);
|
||
}
|
||
});
|
||
}
|
||
},
|
||
|
||
MobileMenu: function() {
|
||
var $menu = $('[data-menu-level="0"]');
|
||
|
||
$menu.find('ul[data-menu-level="1"]').parent().addClass('mobile-menu1');
|
||
$menu.find('ul[data-menu-level="2"]').parent().addClass('mobile-menu2');
|
||
|
||
var $caret1 = $('<span class="menu-drop"><i class="dropdown-toggle-icon level-1 fa fa-chevron-down"></i></span>');
|
||
var $caret2 = $('<span class="menu-drop"><i class="dropdown-toggle-icon level-2 fa fa-chevron-down"></i></span>');
|
||
|
||
// 如果有第二層選單,新增對應的類別到parent元素上
|
||
$('.nav-level-1')
|
||
.parent('li')
|
||
.addClass('has-dropdown level-1');
|
||
|
||
// 檢查是否已經有dropdown-toggle-icon這個元素,才不會在resize事件中重覆新增
|
||
if ($('.has-dropdown.level-1 .menu-drop').length < 1) {
|
||
$('.mobile-menu1').append($caret1);
|
||
|
||
|
||
// 如果有第三層選單,新增對應的類別到parent元素上
|
||
$('.nav-level-2')
|
||
.parent('li')
|
||
.addClass('has-dropdown level-2');
|
||
$caret2.appendTo('.has-dropdown.level-2');
|
||
}
|
||
},
|
||
|
||
ClickMenuHandler: function() {
|
||
$('.navbar-toggle').click(function(e){
|
||
e.preventDefault();
|
||
$('.mobile-menu').toggleClass('active');
|
||
$('body').toggleClass('noscroll');
|
||
|
||
$('.mobile-menu .navbar-toggle').removeClass('collapsed');
|
||
// $menu.slideToggle();
|
||
$('.mobile-menu1 > ul').slideUp(500);
|
||
$('.mobile-menu1 > .menu-drop').removeClass('opened');
|
||
$('.mobile-menu2 > ul').slideUp(500);
|
||
$('.mobile-menu2 > .menu-drop').removeClass('opened');
|
||
})
|
||
|
||
$('.mobile-menu1 > .menu-drop').click(function(){
|
||
var $that = $(this);
|
||
var opencheck1 = $that.hasClass('opened');
|
||
if ( opencheck1 == 0 ) {
|
||
$('.mobile-menu1 > ul').not($that.siblings('ul')).slideUp(500);
|
||
$('.mobile-menu1 > .menu-drop').not($that).removeClass('opened');
|
||
$('.mobile-menu2 > ul').slideUp(500);
|
||
$('.mobile-menu2 > .menu-drop').removeClass('opened');
|
||
$that.siblings('ul').slideDown(500);
|
||
$that.addClass('opened');
|
||
|
||
} else if (opencheck1 == 1) {
|
||
$that.siblings('ul').slideUp(500);
|
||
$('.mobile-menu2 > ul').slideUp(500);
|
||
$('.mobile-menu2 > .menu-drop').removeClass('opened');
|
||
$that.removeClass('opened');
|
||
|
||
}
|
||
})
|
||
|
||
$('.mobile-menu2 > .menu-drop').click(function(){
|
||
var $that = $(this);
|
||
var opencheck2 = $that.hasClass('opened');
|
||
if ( opencheck2 == 0 ) {
|
||
$('.mobile-menu2 > ul').not($that.siblings('ul')).slideUp(500);
|
||
$('.mobile-menu2 > .menu-drop').not($that).removeClass('opened');
|
||
$that.siblings('ul').slideDown(500);
|
||
$that.addClass('opened');
|
||
} else if (opencheck2 == 1) {
|
||
$that.siblings('ul').slideUp(500);
|
||
$that.removeClass('opened');
|
||
}
|
||
})
|
||
}
|
||
};
|
||
|
||
// 把orbit物件加到window物件裡面並改名為ORBITFRONT來減少名稱衝突的機會
|
||
win.ORBITFRONT = orbit;
|
||
|
||
// 在switch裡測試頁面模組後執行對應的函數
|
||
switch (pageModule) {
|
||
case 'home':
|
||
break;
|
||
case 'member':
|
||
orbit.member.removeEmptyRow();
|
||
$('.index-member-3 .member-data-title-email').empty();
|
||
break;
|
||
case 'archive':
|
||
orbit.archives.removeEmptyTitle('.i-archive__category-item');
|
||
orbit.archives.extendPanel();
|
||
break;
|
||
case 'gallery':
|
||
orbit.utils.truncateText('.show-description', 15);
|
||
break;
|
||
default:
|
||
break;
|
||
}
|
||
|
||
// 在所有的頁面(包含首頁)執行下面這幾個函數
|
||
// initdata1();
|
||
orbit.sitemenuDropdown();
|
||
orbit.goBackTop('top', 800);
|
||
// orbit.plugins.bullEye();
|
||
orbit.setColumn('.left-column', '.right-column');
|
||
|
||
// 自適應網頁使用,當網頁載入時,如果視窗寬度小於769,就執行orbit.nav.setDropdown函數
|
||
if ($(window).width() < 769) {
|
||
// orbit.nav.setDropdown();
|
||
orbit.MobileMenu();
|
||
$('.mobile-menu').append($('.modules-menu'));
|
||
$('.header-buttom').appendTo($('.modules-menu'));
|
||
orbit.ClickMenuHandler();
|
||
}
|
||
|
||
// 自適應網頁使用,當使用者改變瀏覽器寬度時呼叫orbit.nav.setDropdown函數
|
||
$(window).resize(function() {
|
||
if ($(window).width() < 769) {
|
||
$('.navbar-toggle').click(function(e){
|
||
e.preventDefault();
|
||
$('.mobile-menu').toggleClass('active');
|
||
$('body').toggleClass('noscroll');
|
||
|
||
$('.mobile-menu .navbar-toggle').removeClass('collapsed');
|
||
// $menu.slideToggle();
|
||
$('.mobile-menu1 > ul').slideUp(500);
|
||
$('.mobile-menu1 > .menu-drop').removeClass('opened');
|
||
$('.mobile-menu2 > ul').slideUp(500);
|
||
$('.mobile-menu2 > .menu-drop').removeClass('opened');
|
||
})
|
||
|
||
if (resizeTimer) clearTimeout(resizeTimer);
|
||
resizeTimer = setTimeout(function() {
|
||
if ( $('.modules-menu i').length == 0 ) {
|
||
orbit.MobileMenu();
|
||
}
|
||
if( $('.mobile-menu .modules-menu').length == 0 ) {
|
||
$('.mobile-menu').append($('.modules-menu'));
|
||
$('.header-buttom').appendTo($('.modules-menu'));
|
||
$('.navbar-toggle').bind(orbit.ClickMenuHandler());
|
||
}
|
||
},500 )} else {
|
||
resizeTimer = setTimeout(function(){
|
||
if( $('.mobile-menu .modules-menu').length > 0 ) {
|
||
$('.layout-header .outdropdowns .dropdowns').append($('.modules-menu'));
|
||
$('.dropdowns').append($('.header-buttom'));
|
||
}
|
||
orbit.removeDropdown();
|
||
}, 500);
|
||
}
|
||
});
|
||
// if($(window).width()<769){
|
||
// $('.header-buttom').appendTo($('.modules-menu'));
|
||
// }else{
|
||
// $('.header-buttom').appendTo($('.dropdowns'));
|
||
// }
|
||
function forFreeGo() {
|
||
|
||
// 幫有連結目的之所有a標籤加上title
|
||
for(var i=0;i<$('a').length;i++){
|
||
if($('a').eq(i).attr("href") != "" || $('a').eq(i).attr("href") != undefined ){
|
||
var titlestr="";
|
||
if($('a').eq(i).attr('target')=='_self')
|
||
titlestr += '在本視窗開啟 ';
|
||
else if($('a').eq(i).attr('target') == '_blank')
|
||
titlestr += '在新視窗開啟 ';
|
||
if($('a').eq(i).attr('title') == "" || $('a').eq(i).attr('title')==undefined && $('a').eq(i).html().search('</') == -1)
|
||
titlestr += $('a').eq(i).html().trim();
|
||
else if($('a').eq(i).attr('title') == "" || $('a').eq(i).attr('title') == undefined && $('a').eq(i).find('>span').length==1)
|
||
titlestr += $('a').eq(i).find('>span').html().trim();
|
||
else if($('a').eq(i).attr('title') == "" || $('a').eq(i).attr('title') == undefined){
|
||
try{
|
||
if($('a').eq(i).html().trim().split('>').length==2)
|
||
titlestr += $('a').eq(i).html().trim().split('>')[1].trim();
|
||
else if($('a').eq(i).html().trim().split('>').length==3)
|
||
titlestr += $('a').eq(i).html().trim().split('>')[2].trim();
|
||
}catch(e){};
|
||
}
|
||
else
|
||
titlestr += $('a').eq(i).attr('title');
|
||
if(titlestr.search('<img') != -1)
|
||
titlestr = "這是一張照片";
|
||
if(titlestr != "")
|
||
$('a').eq(i).attr('title',titlestr);
|
||
};
|
||
};
|
||
// 刪除banner-slide的空連結和空連結目標
|
||
for(var i=0;i<$('.w-ba-banner__slide a').length;i++){
|
||
if($('.w-ba-banner__slide a').eq(i).attr('href')=="")
|
||
$('.w-ba-banner__slide a').eq(i).removeAttr('href');
|
||
if($('.w-ba-banner__slide a').eq(i).attr('target') == "")
|
||
$('.w-ba-banner__slide a').eq(i).removeAttr('target');
|
||
};
|
||
// 幫無標題之iframe加上title
|
||
for(var i=0;i<$('iframe').length;i++)
|
||
if($('iframe').eq(i).attr('title')=="" || $('iframe').eq(i).attr('title')== undefined ){
|
||
if($('iframe').eq(i).attr('src').search('facebook') != -1 )
|
||
$('iframe').eq(i).attr('title','facebook');
|
||
else if($('iframe').eq(i).attr('src').search('google') != -1 )
|
||
$('iframe').eq(i).attr('title','google');
|
||
else if($('iframe').eq(i).attr('src').search('youtube') != -1 )
|
||
$('iframe').eq(i).attr('title','youtube');
|
||
else if($('iframe').eq(i).attr('src').search('twitframe') != -1 )
|
||
$('iframe').eq(i).attr('title','twitter');
|
||
else
|
||
$('iframe').eq(i).attr('title','unknown');
|
||
};
|
||
// 刪除空的檔案室
|
||
var archievelen = $('dd a.i-archive-files-item').length;
|
||
for(i=archievelen-1;i>=0;i--)
|
||
if($('dd a.i-archive-files-item').eq(i).html().trim()=="")
|
||
$('dd a.i-archive-files-item').eq(i).parent('dd').remove();
|
||
// 刪除具有空連結欄位的橫列
|
||
for(var i = 0;i < $('*[data-list] tr td a').length ; i++)
|
||
if($('*[data-list] tr td a').eq(i).html().trim()=="")
|
||
$('*[data-list] tr td a').eq(i).parent('td').parent('tr').remove();
|
||
// tab按鍵選到menu,會顯示下層的menu(為了符合無障礙)
|
||
$('.nav-level-0>li>a').focus(function(e) {
|
||
e.stopPropagation();
|
||
$(this).parent().focus();
|
||
if ($(this).parent().find('.nav-level-1').hasClass('show')) {
|
||
} else {
|
||
$('.nav-level-1').removeClass('show');
|
||
$(this).parent().find('.nav-level-1').addClass('show');
|
||
}
|
||
});
|
||
$('.nav-level-1>li>a').focus(function(e) {
|
||
e.stopPropagation();
|
||
if ($(this).parent().find('.nav-level-2').hasClass('show')) {
|
||
}else{
|
||
$('.nav-level-2').removeClass('show');
|
||
$(this).parent().find('.nav-level-2').addClass('show');
|
||
}
|
||
});
|
||
$('show').parent('li').focus();
|
||
}
|
||
forFreeGo();
|
||
|
||
|
||
|
||
//header banner setting
|
||
if ( location.href.search('editmode=on') != -1 ) {
|
||
$('.header-banner').css('z-index','2');
|
||
} else {
|
||
$('.header-banner').css({
|
||
'position': 'relative',
|
||
'top': '0',
|
||
'z-index': '-2',
|
||
});
|
||
};
|
||
|
||
//公告頁籤
|
||
function annc_widget_nav() {
|
||
$('.tab_nav').nextAll().addClass('tab_content');
|
||
$('.tab_content').css("display","none");
|
||
$('.tab_content').eq(0).css('display', 'block');
|
||
|
||
var num = $('.tab_nav li').length;
|
||
$('.tab_content').eq(num).css('display', 'block');
|
||
$('.tab_content').eq(num).nextAll().css('display', 'block');
|
||
|
||
$('.tab_nav li').off('click').on('click',function() {
|
||
$('.tab_nav li').removeClass('active');
|
||
$(this).addClass('active');
|
||
var fa = $(this).index();
|
||
|
||
$('.tab_content').attr('style','');
|
||
$('.tab_content').css("display","none");
|
||
$('.tab_content').eq(fa).css('display','block');
|
||
var num = $('.tab_nav li').length;
|
||
$('.tab_content').eq(num).css('display', 'block');
|
||
$('.tab_content').eq(num).nextAll().css('display', 'block');
|
||
});
|
||
|
||
var url = window.location.search;
|
||
if (url == "?editmode=on") {
|
||
$('.tab_content').css({'position': 'relative','display':'block'});
|
||
}
|
||
}
|
||
annc_widget_nav();
|
||
|
||
//切換語言停留在同一頁
|
||
if(window.location.pathname!="/")
|
||
$("#en").attr("href",window.location.pathname.replace("zh_tw","en"))
|
||
|
||
//檔案室 下載檔案 hover 彈出備註訊息
|
||
$('[data-toggle="tooltip"]').tooltip()
|
||
|
||
//下載檔案格式dot pdf分色
|
||
$(".i-archive .label.label-primary").each(function() {
|
||
var downloadType = $(this).text();
|
||
$(this).addClass(downloadType);
|
||
})
|
||
|
||
//檔案室模組 Widget 手風琴
|
||
function extendPanelWidget() {
|
||
var len = $('.panel-title').length;
|
||
var i = -1;
|
||
if (len > 0) {
|
||
// 新增數字到要對應的panel按鈕id及href上面
|
||
for (i = 0; i < len; i++) {
|
||
$('.panel-title:eq(' + i + ') .collapsed').attr('href', '#collapse' + i);
|
||
$('.panel-collapse:eq(' + i + ')').attr('id', 'collapse' + i);
|
||
}
|
||
}
|
||
}
|
||
extendPanelWidget();
|
||
|
||
// member show tab scroll
|
||
$('.nav-pills').scrollingTabs({
|
||
scrollToTabEdge: true,
|
||
enableSwiping: true,
|
||
leftArrowContent: [
|
||
'<div class="scrtabs-tab-scroll-arrow custom-scroll-arrow"><i class="fa fa-caret-left" aria-hidden="true"></i>',
|
||
'</div>'
|
||
].join(''),
|
||
rightArrowContent: [
|
||
'<div class="scrtabs-tab-scroll-arrow custom-scroll-arrow"><i class="fa fa-caret-right" aria-hidden="true"></i>',
|
||
'</div>'
|
||
].join('')
|
||
});
|
||
|
||
|
||
}
|
||
|
||
//首頁萬用表格搜尋自創
|
||
$(document).ready(function () {
|
||
// 如果網址包含 "/dic?",就顯示 .searchbox
|
||
if (window.location.pathname.includes('/dic') && window.location.search.includes('?')) {
|
||
$('.searchbox').css('display', 'block');
|
||
};
|
||
function performCombinedSearch() {
|
||
const keyword = $('#combined-search').val().trim();
|
||
if (keyword === '') return;
|
||
|
||
const baseURL = '/zh_tw/dic';
|
||
const tagURL = `${baseURL}?tag=${encodeURIComponent(keyword)}`;
|
||
|
||
// 定義要依序檢查的參數 q[1] ~ q[6]
|
||
const qParams = [1, 2, 3, 4, 5, 6];
|
||
let index = 0;
|
||
|
||
function tryNextQ() {
|
||
if (index >= qParams.length) {
|
||
// 如果全部都沒結果,轉向 tag 搜尋
|
||
window.location.href = tagURL;
|
||
return;
|
||
}
|
||
|
||
const qValue = qParams[index];
|
||
const url = `${baseURL}?q[${qValue}]=${encodeURIComponent(keyword)}`;
|
||
|
||
$.get(url, function (response) {
|
||
const hasResult = $(response).find('tbody tr').length > 0;
|
||
if (hasResult) {
|
||
window.location.href = url;
|
||
} else {
|
||
index++;
|
||
tryNextQ();
|
||
}
|
||
});
|
||
}
|
||
|
||
tryNextQ();
|
||
}
|
||
|
||
// 綁定搜尋按鈕
|
||
$(document).on('click', '#combined-search-btn', performCombinedSearch);
|
||
|
||
// 綁定 Enter 鍵
|
||
$(document).on('keypress', '#combined-search', function (e) {
|
||
if (e.which === 13) {
|
||
performCombinedSearch();
|
||
}
|
||
});
|
||
|
||
});
|
||
//萬用表格搜尋自創
|
||
$(document).ready(function () {
|
||
// 如果網址包含 "/dic?",就顯示 .searchbox
|
||
if (window.location.pathname.includes('/dic') && window.location.search.includes('?')) {
|
||
$('.searchbox').css('display', 'block');
|
||
};
|
||
function performCombinedSearch() {
|
||
const keyword = $('#combined-search2').val().trim();
|
||
if (keyword === '') return;
|
||
|
||
// 動態抓當前的 URL 路徑
|
||
const baseURL = window.location.pathname;
|
||
const tagURL = `${baseURL}?tag=${encodeURIComponent(keyword)}`;
|
||
|
||
// 定義要依序檢查的參數 q[1] ~ q[6]
|
||
const qParams = [1, 2, 3, 4, 5, 6];
|
||
let index = 0;
|
||
|
||
function tryNextQ() {
|
||
if (index >= qParams.length) {
|
||
// 如果全部都沒結果,轉向 tag 搜尋
|
||
window.location.href = tagURL;
|
||
return;
|
||
}
|
||
|
||
const qValue = qParams[index];
|
||
const url = `${baseURL}?q[${qValue}]=${encodeURIComponent(keyword)}`;
|
||
|
||
$.get(url, function (response) {
|
||
const hasResult = $(response).find('tbody tr').length > 0;
|
||
if (hasResult) {
|
||
window.location.href = url;
|
||
} else {
|
||
index++;
|
||
tryNextQ();
|
||
}
|
||
});
|
||
}
|
||
|
||
tryNextQ();
|
||
}
|
||
|
||
|
||
// 綁定搜尋按鈕
|
||
$(document).on('click', '#combined-search-btn2', performCombinedSearch);
|
||
|
||
// 綁定 Enter 鍵
|
||
$(document).on('keypress', '#combined-search2', function (e) {
|
||
if (e.which === 13) {
|
||
performCombinedSearch();
|
||
}
|
||
});
|
||
// 如果網址包含 tag 參數,就顯示對應文字在 .kentbody 前
|
||
const urlParams = new URLSearchParams(window.location.search);
|
||
const tag = urlParams.get('tag');
|
||
if (tag) {
|
||
const $info = $(`<div class="tagsearch">所有包含標籤 #${tag} 的詞</div>`);
|
||
$('.kentbody').first().before($info);
|
||
}
|
||
|
||
});
|
||
|
||
|
||
//搜尋結果數量移除
|
||
$(document).ready(function () {
|
||
$('.universal-table-index').each(function () {
|
||
$(this).nextAll('div').each(function () {
|
||
const text = $(this).text();
|
||
if (text.includes('搜尋結果數量:') || text.includes('Export')) {
|
||
$(this).remove();
|
||
}
|
||
});
|
||
});
|
||
});
|
||
$(document).ready(function() {
|
||
if (document.documentElement.lang === 'zh_tw') {
|
||
document.documentElement.lang = 'und-hani';
|
||
};
|
||
$('img.site-logo').each(function() {
|
||
var $img = $(this);
|
||
var textNode = $img[0].nextSibling;
|
||
|
||
// 判斷如果是文字節點,就包成 span
|
||
if (textNode && textNode.nodeType === 3 && $.trim(textNode.nodeValue) !== "") {
|
||
var wrapped = $('<span class="site-title"></span>').text(textNode.nodeValue);
|
||
$(textNode).replaceWith(wrapped);
|
||
}
|
||
});
|
||
});
|
||
//video js
|
||
$(document).ready(function () {
|
||
if ($(".main-content .video_detail").length > 0) {
|
||
$('.videopagenone').css("display","none");
|
||
$('.videopage').css('display', 'block');
|
||
$('.sitemenu').css("display","none");
|
||
$('span img[alt="HD"]').parent().hide();
|
||
$('span img[alt="觀看人數"]').remove();
|
||
$(".video_detail .view_info span").each(function () {
|
||
var text = $(this).text().trim(); // 取得 <span> 裡的文字,去掉前後空格
|
||
var number = text.replace(/\D/g, ""); // 只保留數字部分
|
||
if (number) {
|
||
$(this).text(`・觀看次數:${number}次`); // 更新內容格式
|
||
}
|
||
});
|
||
$(".movie_desc").before('<div class="movietitle"><h4>單元介紹</h4></div>');
|
||
$(".movie_desc").each(function () {
|
||
var decodedHtml = $("<div/>").html($(this).text()).html(); // 轉換轉義的 HTML
|
||
$(this).html(decodedHtml); // 設置為真正的 HTML
|
||
});
|
||
$(".video_group_time").each(function () {
|
||
var $this = $(this);
|
||
// 找到對應的 <q>,並移動到 .video_group_time 內部
|
||
var $q = $this.closest(".imglst_desc").find(".movie_desc q");
|
||
if ($q.length) {
|
||
$this.append($q.clone()); // 將 <q> 複製並添加到 .video_group_time
|
||
$q.remove(); // 移除 .movie_desc 裡的 <q>
|
||
}
|
||
// 移動 .view_info 到 .video_group_time 的內部
|
||
$this.append($this.siblings(".view_info"));
|
||
// 取得內容並移除 "SystemAdmin | " 前綴
|
||
var text = $this.text().trim();
|
||
var newText = text.replace(/^.*\|\s*/, ""); // 移除 "SystemAdmin | "
|
||
$this.text(newText); // 更新內容
|
||
$(this).insertBefore($(this).closest(".imglst_desc").siblings("h3"));
|
||
});
|
||
|
||
$(".main-content").css({
|
||
"max-width": "920px",
|
||
"margin": "auto"
|
||
});
|
||
$(".video_box_wrap").css("padding-bottom", "56%");
|
||
$(".video_detail .video_yt_box").insertBefore(".video_detail .video_group_time");
|
||
|
||
};
|
||
function getYouTubeThumbnail() {
|
||
var $ytThumb = $(".ytp-cued-thumbnail-overlay-image");
|
||
if ($ytThumb.length) {
|
||
var imageUrl = $ytThumb.css("background-image");
|
||
// 檢查背景圖格式:url("https://...")
|
||
var urlMatch = imageUrl.match(/url\(["']?(.*?)["']?\)/);
|
||
var extractedUrl = urlMatch ? urlMatch[1] : null;
|
||
if (extractedUrl) {
|
||
// console.log("成功獲取縮圖:", extractedUrl);
|
||
$(".background").css("background-image", `url("${extractedUrl}")`);
|
||
} else {
|
||
// console.log("背景圖格式不對,改用影片 ID 生成縮圖");
|
||
setThumbnailFromVideoId();
|
||
}
|
||
} else {
|
||
// console.log("找不到 .ytp-cued-thumbnail-overlay-image,改用影片 ID 生成縮圖");
|
||
setThumbnailFromVideoId();
|
||
}
|
||
}
|
||
function setThumbnailFromVideoId() {
|
||
var $iframe = $("iframe[src*='youtube.com/embed']");
|
||
if ($iframe.length) {
|
||
var src = $iframe.attr("src");
|
||
var videoIdMatch = src.match(/youtube\.com\/embed\/([^?]+)/);
|
||
var videoId = videoIdMatch ? videoIdMatch[1] : null;
|
||
|
||
if (videoId) {
|
||
var fallbackImageUrl = `https://img.youtube.com/vi/${videoId}/maxresdefault.jpg`;
|
||
// console.log("透過影片 ID 取得縮圖:", fallbackImageUrl);
|
||
$(".background").css("background-image", `url("${fallbackImageUrl}")`);
|
||
}
|
||
}
|
||
}
|
||
// 嘗試多次加載
|
||
var interval = setInterval(function () {
|
||
if ($(".ytp-cued-thumbnail-overlay-image").length || $("iframe[src*='youtube.com/embed']").length) {
|
||
getYouTubeThumbnail();
|
||
clearInterval(interval);
|
||
}
|
||
}, 1000);
|
||
//改變日期格式
|
||
$(".video_group_time").each(function () {
|
||
var $this = $(this);
|
||
var originalText = $this.text().trim();
|
||
// 把 YYYY-MM-DD 轉換成 M月D日
|
||
var formattedText = originalText.replace(/(\d{4})-(\d{2})-(\d{2})/g, function (match, year, month, day) {
|
||
return parseInt(month, 10) + "月" + parseInt(day, 10) + "日";
|
||
});
|
||
// 找到對應的 <q>,並複製
|
||
var $q = $this.closest(".video_data").find(".video_desc q").clone();
|
||
// 更新內容並加上 <q>
|
||
$this.html(formattedText).append($q);
|
||
});
|
||
|
||
});
|
||
// 當文件物件模型(DOM)載入後,執行init函數
|
||
$(document).ready(function() {
|
||
if ($('.spken').is(':empty')) {
|
||
$('.verticalhome').css('padding-top', '8em');
|
||
};
|
||
// //滑鼠移動特效
|
||
// $('.centerbox').on('mousemove', function(e) {
|
||
// const offset = $(this).offset();
|
||
// const width = $(this).width();
|
||
// const height = $(this).height();
|
||
// const x = e.pageX - offset.left;
|
||
// const y = e.pageY - offset.top;
|
||
|
||
// const moveX = (x - width / 2) / 20;
|
||
// const moveY = (y - height / 2) / 20;
|
||
|
||
// $(this).css('transform', `translate(${moveX}px, ${moveY}px)`);
|
||
// });
|
||
|
||
// $('.centerbox').on('mouseleave', function() {
|
||
// $(this).css('transform', 'translate(0px, 0px)');
|
||
// });
|
||
// //滑鼠移動特效
|
||
// $('.video-banner').on('mousemove', function(e) {
|
||
// const offset = $(this).offset();
|
||
// const width = $(this).width();
|
||
// const height = $(this).height();
|
||
// const x = e.pageX - offset.left;
|
||
// const y = e.pageY - offset.top;
|
||
|
||
// const moveX = (x - width / 2) / 20;
|
||
// const moveY = (y - height / 2) / 20;
|
||
|
||
// $(this).css('transform', `translate(${moveX}px, ${moveY}px)`);
|
||
// });
|
||
|
||
// $('.video-banner').on('mouseleave', function() {
|
||
// $(this).css('transform', 'translate(0px, 0px)');
|
||
// });
|
||
|
||
if($('.s-annc').length){
|
||
$(".carousel_images h4").remove();
|
||
$('.carousel_images').addClass('carousel_images2');
|
||
$(".carousel_images .w-ba-banner").next("div").find(".button-mid").remove();
|
||
$('.carousel_images').css('width','100%');
|
||
$(".s-annc__post-wrap").next("hr").remove();
|
||
$(".carousel_images").insertAfter(".s-annc__meta-wrap");
|
||
$('.breadcrumb-wrap').css('display', 'block');
|
||
// $(".main-content").css({
|
||
// "max-width": "920px",
|
||
// "margin": "auto"
|
||
// });
|
||
}
|
||
//downIcon
|
||
$(".downIcon").click(function () {
|
||
var move_to_target = function (stop) {
|
||
var theTop;
|
||
if (stop) {
|
||
// $(".kenjohn").addClass('navFixed');
|
||
if ($('.layout-content2.topcontent').length != 0 && $('.layout-content2.topcontent').offset().top < 400) {
|
||
$('.layout-content2').css('margin-top', $('.kenjohn').height() - $('#orbit-bar').height());
|
||
}
|
||
if (parseInt($('.layout-content2').css('margin-top') == 0)) {
|
||
theTop = $('.layout-content2.topcontent').offset().top - $(".kenjohn").position().top -100;
|
||
} else {
|
||
theTop = $('.layout-content2.topcontent').offset().top - $(".kenjohn").position().top - $(".kenjohn").height() - 100;
|
||
}
|
||
} else {
|
||
theTop = 5;
|
||
}
|
||
// console.log(theTop);
|
||
$("html, body").animate({
|
||
scrollTop: theTop
|
||
}, {
|
||
duration: 400, easing: "swing", complete: function () {
|
||
// console.log('finish');
|
||
if (!stop) {
|
||
move_to_target(true);
|
||
}
|
||
}
|
||
});
|
||
}
|
||
move_to_target(false);
|
||
return false;
|
||
});
|
||
$('.voice-player').each(function () {
|
||
// 取得 <i> 元素
|
||
const icon = $(this).find('i')[0];
|
||
if (icon) {
|
||
// 取得 <i> 前面的節點
|
||
const prevNode = icon.previousSibling;
|
||
// 如果是文字節點,則移除
|
||
if (prevNode && prevNode.nodeType === 3) {
|
||
prevNode.remove();
|
||
}
|
||
}
|
||
});
|
||
$('.universal-table-show tr:nth-child(3) .table-txt').after($(' .table-txt .orbit-hash-tag').parent());
|
||
|
||
//背景widget設定
|
||
if ( location.href.search('editmode=on') != -1 ) {
|
||
$('.background').css('z-index','2');
|
||
$('.background').css('position','relative');
|
||
$('.outdropdowns').css('position','relative');
|
||
} else {
|
||
$('.background').css('z-index','-1');
|
||
$('.background').css('position','fixed');
|
||
};
|
||
|
||
$('.i-annc__page-title').after($('.sitemenu-wrap2'));
|
||
$('.i-archive-title').after($('.sitemenu-wrap2'));
|
||
$('.page-module-title').after($('.sitemenu-wrap2'));
|
||
$('.box-social-share').before($('.sitemenu-wrap3'));
|
||
$('.box-social-share').before($('.sitemenu-wrap3'));
|
||
$('.box-social-share').before($('.sitemenu-wrap3'));
|
||
|
||
$(".member-data2-tr").before($(".show-member .table-striped > tbody > tr:nth-of-type(4)"));
|
||
$(".nav-pills").before($(".show-member .table-striped > tbody > tr:last-child"));
|
||
|
||
//常用到的js
|
||
// $('.').after($('.'));
|
||
// $('.').before($('.'));
|
||
// $('.').append($('.'));
|
||
// if($('.show-announcement').hasClass('show-announcement')) {
|
||
// $('.').css('', '');
|
||
// }
|
||
|
||
|
||
//公告類別顏色
|
||
$(".w-annc .w-annc__category-wrap").each(function() {
|
||
var SaveCategory = $(this).find(".w-annc__category").text();
|
||
// console.log(SaveCategory);
|
||
$(this).addClass(SaveCategory);
|
||
})
|
||
$(".w-annc__item ").each(function() {
|
||
var SaveCategory2 = $(this).find(".w-annc__category").text();
|
||
// console.log(SaveCategory);
|
||
$(this).addClass(SaveCategory2);
|
||
})
|
||
$(".i-annc__item .i-annc__category-wrap").each(function() {
|
||
var SaveCategory = $(this).find(".i-annc__category").text();
|
||
// console.log(SaveCategory);
|
||
$(this).addClass(SaveCategory);
|
||
})
|
||
$(".i-annc__item ").each(function() {
|
||
var SaveCategory2 = $(this).find(".i-annc__category").text();
|
||
// console.log(SaveCategory);
|
||
$(this).addClass(SaveCategory2);
|
||
})
|
||
|
||
//預約
|
||
if ($(window).width() > 821) {
|
||
$('.form-horizontal').append($('.cancelbooking'));
|
||
$(".hire-ken-click").click(function(){
|
||
// $(".searchbox").slideToggle(300);
|
||
$('.form-horizontal').toggleClass('hire-ken-click2');
|
||
$('.col-lg-5').toggleClass('shadowblock');
|
||
$(".cancelbooking").click(function(){
|
||
$('.form-horizontal').removeClass('hire-ken-click2');
|
||
$('.col-lg-5').removeClass('shadowblock');
|
||
});
|
||
});
|
||
}
|
||
//navrwd移到選單
|
||
if ($(window).width() <769) {
|
||
$('.modules-menu-level-0').after($('.header-nav'));
|
||
}else{
|
||
$('.orbit-bar-menu').after($('.header-nav'));
|
||
};
|
||
//
|
||
$(".ken-click").click(function(){
|
||
$(".searchbox").slideToggle(300);
|
||
$('.ken-click').toggleClass('ken-click2');
|
||
$('.fa-chevron-down').toggleClass('rotated');
|
||
});
|
||
$('.sitemenu-vertical .sitemenu-dropdown-toggle').click(function(){
|
||
$('.sitemenu-vertical .dropdown-menu').slideToggle();
|
||
$(".sitemenu-vertical .sitemenu-dropdown-toggle").toggleClass("fa-caret-down");
|
||
$(".sitemenu-vertical .sitemenu-dropdown-toggle").toggleClass("fa-caret-up");
|
||
});
|
||
//頁尾選單開合
|
||
$('.btn-fatfooter').click(function(){
|
||
$('.fatfooter').slideToggle();
|
||
$(".btn-fatfooter .fa-chevron-down").toggleClass("rotate");
|
||
});
|
||
|
||
$(".menu-toggle").on('click', function() {
|
||
$(this).toggleClass("on");
|
||
$('.menu-section').toggleClass("on");
|
||
$("nav ul").toggleClass('hidden');
|
||
});
|
||
$('.morebken').click(function(){
|
||
$('.list-unstyled>li:nth-child(n+16)').slideToggle();
|
||
$(".morebken .fa-chevron-down").toggleClass("rotate");
|
||
$(".openmorebken").toggleClass("closemorebken");
|
||
|
||
});
|
||
//RWD 自動縮放headerbannner
|
||
function headerH() {
|
||
if ($(window).width() < 769) {
|
||
const navH = $('.layout-header .navbar-header').outerHeight();
|
||
$('.header-banner').css('height', navH );
|
||
}
|
||
}
|
||
headerH();
|
||
$(window).resize(function() {
|
||
if ($(window).width() <769) {
|
||
$('.modules-menu-level-0').after($('.header-nav'));
|
||
}else{
|
||
$('.orbit-bar-menu').after($('.header-nav'));
|
||
};
|
||
|
||
if ($(window).width() > 821) {
|
||
$('.form-horizontal').append($('.cancelbooking'));
|
||
$(".hire-ken-click").click(function(){
|
||
// $(".searchbox").slideToggle(300);
|
||
$('.form-horizontal').toggleClass('hire-ken-click2');
|
||
$('.col-lg-5').toggleClass('shadowblock');
|
||
$(".cancelbooking").click(function(){
|
||
$('.form-horizontal').removeClass('hire-ken-click2');
|
||
$('.col-lg-5').removeClass('shadowblock');
|
||
});
|
||
});
|
||
}
|
||
headerH();
|
||
|
||
})
|
||
// $(window).scroll(function() {
|
||
// initdata1();
|
||
// });
|
||
// $(window).scroll(function() {
|
||
// if ($(this).scrollTop() > 100) { /* 要滑動到選單的距離 */
|
||
// $('.outdropdowns').addClass('navFixed'); /* 幫選單加上固定效果 */
|
||
// } else {
|
||
// $('.outdropdowns').removeClass('navFixed'); /* 移除選單固定效果 */
|
||
// }
|
||
// });
|
||
$('.navbar-brand h2').replaceWith(function () {
|
||
return "<h1>" +$(this).html() + "</h1>";
|
||
});
|
||
$('#search'). attr('title', '另開新視窗');
|
||
$(window).scroll(function () {
|
||
var windowTop = $(window).scrollTop();
|
||
var windowBottom = windowTop + $(window).innerHeight();
|
||
|
||
function handleAnimationOnce(selector, animationClass, offsetRatio = 0.5) {
|
||
$(selector).each(function () {
|
||
var elementTop = $(this).offset().top;
|
||
var elementHeight = $(this).height();
|
||
var triggerPoint = elementTop + elementHeight * offsetRatio;
|
||
|
||
if (
|
||
triggerPoint >= windowTop &&
|
||
triggerPoint <= windowBottom &&
|
||
!$(this).hasClass(animationClass)
|
||
) {
|
||
$(this).addClass(animationClass);
|
||
}
|
||
});
|
||
}
|
||
|
||
handleAnimationOnce('.hide0', 'animationvisible', 0.1);
|
||
handleAnimationOnce('.hide1', 'animationvisible1', 0.5);
|
||
handleAnimationOnce('.hide2', 'animationvisible2', 0.5);
|
||
handleAnimationOnce('.hide3', 'animationvisible3', 0.5);
|
||
handleAnimationOnce('.rotate0', 'animationrotate0', 0.5);
|
||
handleAnimationOnce('.zoomin', 'animationvisible5', 0.5);
|
||
});
|
||
|
||
init();
|
||
});
|
||
//homebanner移除的問題
|
||
$(document).ready(function () {
|
||
function checkBannerPadding() {
|
||
if ($(window).width() > 768) {
|
||
if ($('.homebanner').children().length === 0) {
|
||
$('.verticalhome').css('padding-top', '10em');
|
||
$('.video-banner').css({
|
||
'position': 'relative',
|
||
'padding-top': '9em',
|
||
'top': 'auto'
|
||
});
|
||
}
|
||
} else {
|
||
// 畫面小於等於 768 時,還原樣式(可視需要保留或刪除這段)
|
||
$('.verticalhome').css('padding-top', '');
|
||
$('.video-banner').css({
|
||
'position': '',
|
||
'padding-top': '',
|
||
'top': ''
|
||
});
|
||
}
|
||
}
|
||
|
||
// 頁面載入時執行一次
|
||
checkBannerPadding();
|
||
|
||
// RWD 螢幕尺寸變動時重新判斷
|
||
$(window).on('resize', checkBannerPadding);
|
||
});
|
||
|
||
$(document).ready(function () {
|
||
$('.modules-menu-level-1').removeClass('show'); // 預防進來時有被加上
|
||
$('li').on('contextmenu', function (e) {
|
||
$(this).find('.modules-menu-level-1').removeClass('show');
|
||
});
|
||
});
|
||
//相關詞目欄位的顯示
|
||
$(document).ready(function () {
|
||
$('.related_entries').each(function () {
|
||
var $this = $(this);
|
||
if ($this.is(':empty')) {
|
||
$this.prev('.table-title').css('display', 'none');
|
||
}
|
||
});
|
||
});
|
||
|
||
$(document).ready(function () {
|
||
// 監控所有 .voice-player 的 status 屬性
|
||
var observer = new MutationObserver(function(mutations) {
|
||
mutations.forEach(function(mutation) {
|
||
if (mutation.type === "attributes" && mutation.attributeName === "status") {
|
||
var $target = $(mutation.target);
|
||
|
||
// 如果新的 status 是 "playing"
|
||
if ($target.attr("status") === "playing") {
|
||
// 將其他所有正在 playing 的 .voice-player reset
|
||
$(".voice-player[status='playing']").not($target).each(function() {
|
||
$(this)
|
||
.removeAttr("status")
|
||
.find("i.fa")
|
||
.removeClass("fa-pause")
|
||
.addClass("fa-play");
|
||
});
|
||
}
|
||
}
|
||
});
|
||
});
|
||
|
||
// 對所有現有的 .voice-player 建立 observer
|
||
$(".voice-player").each(function() {
|
||
observer.observe(this, { attributes: true });
|
||
});
|
||
});
|
||
|
||
$(window).load(function(){
|
||
$("iframe[src*='google']").attr('title','googleOauth');
|
||
});
|
||
|
||
// 執行 member等高計算,目前改用flexbox故mark掉 by ika 20160105
|
||
// $(window).load(function() {
|
||
// if ($('.index-member-3').length && $(window).width() > 992) {
|
||
// ORBITFRONT.member.equalHeight('.i-member-item-inner');
|
||
// }
|
||
// });
|
||
$(document).ready(function() {
|
||
var hashtag = new URLSearchParams(window.location.search).get("orbithashtag");
|
||
if (hashtag) {
|
||
// 修改 <title>
|
||
$("title").text("#" + hashtag + " " + $("title").text());
|
||
|
||
// 修改 og:title
|
||
var ogTitleMeta = $("meta[property='og:title']");
|
||
if (ogTitleMeta.length) {
|
||
ogTitleMeta.attr("content", "#" + hashtag + " " + ogTitleMeta.attr("content"));
|
||
}
|
||
}
|
||
});
|
||
$(document).ready(function() {
|
||
// 取得 table 第一列第二欄的值
|
||
var tableValue = $(".universal-table-show tbody tr:nth-child(1) td:nth-child(2)").text().trim();
|
||
|
||
if (tableValue) {
|
||
// 修改 <title>,前面加 table 值 + 空格
|
||
var originalTitle = $("title").text().trim();
|
||
$("title").text(tableValue + " " + originalTitle);
|
||
|
||
// 同步修改 og:title
|
||
var ogTitleMeta = $("meta[property='og:title']");
|
||
if (ogTitleMeta.length) {
|
||
ogTitleMeta.attr("content", tableValue + " | " + ogTitleMeta.attr("content"));
|
||
}
|
||
}
|
||
});
|
||
|
||
}(jQuery, window));
|