diff --git a/assets/javascripts/app.js b/assets/javascripts/app.js
index c724c97..77acc0b 100644
--- a/assets/javascripts/app.js
+++ b/assets/javascripts/app.js
@@ -2,6 +2,12 @@
// ECMAScript 5 嚴格模式
'use strict';
+ $.fn.replace_bootstrap_col_class = function(colcls){
+ $(this).removeClass(function(index, css) {
+ return (css.match(/(^|\s)col-\S+/g) || []).join(' ');
+ })
+ .addClass(colcls);
+ }
// 初始函數: 把所有的程式碼都包在init裡面,方便在之後的jQuery ready 函數裡一次呼叫
function init() {
// 快取一些常用的變數
@@ -270,20 +276,49 @@
var $rightCol = $(rightCol);
var columnCls = columnCls || 'col-sm-12';
- if ($leftCol.length && $rightCol.length) {
+ 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);
+ .replace_bootstrap_col_class(columnCls);
}
});
}
},
+ setThreeColumn: function(leftCol, centerCol, rightCol, mediumCls, fullCls) { //mediumCls and fullCls will apply to centerCol
+ var $leftCol = $(leftCol);
+ var $centerCol = $(centerCol);
+ var $rightCol = $(rightCol);
+ var mediumCls = mediumCls || 'col-sm-9';
+ var mediumCls_complement = mediumCls.replace(/(^|\s+)col-[^-]+-([\d]+)/g,function(match, p1, p2){
+ return match.replace(p2, 12 - Number(p2));
+ });
+ var fullCls = fullCls || 'col-sm-12';
+ var asides_cols = [$leftCol, $rightCol];
+ var asides_count = [$leftCol.not(':empty').length, $rightCol.not(':empty').length];
+ var complemented_aside, empty_aside;
+ if(asides_count[0] == 0 && asides_count[1] == 0){
+ $centerCol.replace_bootstrap_col_class(fullCls);
+ $.each(asides_cols, function() {
+ $(this).addClass('empty-column').replace_bootstrap_col_class('');
+ });
+ }else{
+ asides_cols.forEach(function(col , i){
+ if(asides_count[i] == 0){
+ empty_aside = col;
+ }else{
+ complemented_aside = col;
+ }
+ })
+ if(empty_aside){
+ empty_aside.addClass('empty-column').replace_bootstrap_col_class('');
+ complemented_aside.replace_bootstrap_col_class(mediumCls_complement);
+ $centerCol.replace_bootstrap_col_class(mediumCls);
+ }
+ }
+ },
MobileMenu: function() {
var $menu = $('[data-menu-level="0"]');
@@ -388,7 +423,7 @@
orbit.sitemenuDropdown();
orbit.goBackTop('top', 800);
orbit.plugins.bullEye();
- orbit.setColumn('.left-column', '.right-column');
+ orbit.setThreeColumn('.left-column','.center-column', '.right-column');
// 自適應網頁使用,當網頁載入時,如果視窗寬度小於768,就執行orbit.nav.setDropdown函數
if ($(window).width() < 768) {
@@ -420,132 +455,28 @@
}
});
- 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('=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();
+ //背景widget設定
+ if ( location.href.search('editmode=on') != -1 ) {
+ $('.background').css({'z-index': '0', 'position': 'relative'});
+ } else {
+ $('.background').css('z-index','-1');
+ };
- //背景widget設定
- if ( location.href.search('editmode=on') != -1 ) {
- $('.background').css('z-index','0');
- } else {
- $('.background').css('z-index','-1');
- };
+ //header banner setting
+ if ( location.href.search('editmode=on') != -1 ) {
+ $('.header-banner').css('z-index','2');
+ } else {
+ $('.header-banner').css({
+ 'position': 'absolute',
+ 'top': '0',
+ 'z-index': '-2',
+ });
+ };
- //header banner setting
- if ( location.href.search('editmode=on') != -1 ) {
- $('.header-banner').css('z-index','2');
- } else {
- $('.header-banner').css({
- 'position': 'absolute',
- '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'});
-}
+ var url = window.location.search;
+ if (url == "?editmode=on") {
+ $('.tab_content').css({'position': 'relative','display':'block'});
+ }
}
annc_widget_nav();
diff --git a/home/page.html.erb b/home/page.html.erb
index f2f0b06..b07bef1 100644
--- a/home/page.html.erb
+++ b/home/page.html.erb
@@ -18,7 +18,8 @@