diff --git a/assets/javascripts/app.js b/assets/javascripts/app.js index c041a9e..9c1b28b 100644 --- a/assets/javascripts/app.js +++ b/assets/javascripts/app.js @@ -25,8 +25,7 @@ if ( $('.header-banner').length != 0) { $('.layout-header').css('height', ''); var scrollTop = $(window).scrollTop(); - var scrollBottom = $('html').height() - $(window).height() - $('.kenjohn').height(); - if (scrollTop>5 && scrollBottom>0) { /* 要滑動到選單的距離 */ + if (scrollTop>5) { /* 要滑動到選單的距離 */ if (parseInt($('.layout-content').css('margin-top'))==0 && $('.layout-content.topcontent').length != 0 && $('.layout-content.topcontent').offset().top<400){ $('.layout-content').css('margin-top',$('.kenjohn').height()-$('#orbit-bar').height()); } diff --git a/modules/ad_banner/_ad_banner_widget1.html.erb b/modules/ad_banner/_ad_banner_widget1.html.erb index d20a83f..410f3b7 100644 --- a/modules/ad_banner/_ad_banner_widget1.html.erb +++ b/modules/ad_banner/_ad_banner_widget1.html.erb @@ -70,9 +70,8 @@ .w-ba-banner .button-mid{ position: absolute; width: 100%; - height: 100%; - top: 0; - left: 0; + height: 0; + top: 50%; } .next-button,.prev-button{ cursor: pointer; diff --git a/modules/ad_banner/_ad_banner_widget2_video.html.erb b/modules/ad_banner/_ad_banner_widget2_video.html.erb index 0c16c9d..5d45b10 100644 --- a/modules/ad_banner/_ad_banner_widget2_video.html.erb +++ b/modules/ad_banner/_ad_banner_widget2_video.html.erb @@ -171,193 +171,198 @@ $("*[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 (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)){ + 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 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; + 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 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 yt_id = $(iframe).attr("id"); - var yt_player = yt_players[id][$(iframe).attr("id")]; - if(yt_player){ - }else{ - yt_player = new YT.Player($(iframe).attr("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; - } - 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][$(iframe).attr("id")] = yt_player; - $(iframe).data("yt_player",yt_player); - } - }) + 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; } - $(".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); + 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}} } - {{extra_state_chnage_script}} } -} $(document).ready(function(){ window.onYouTubePlayerAPIReady = function() { onYouTubeIframeAPIReady.apply(this,arguments); @@ -401,18 +406,6 @@ if (typeof onYouTubeIframeAPIReady !== 'function'){ $('[data-subpart-id="{{subpart-id}}"] .prev-button').click(function(){ $(this).parent("ul").parent('.w-ba-banner').find(".cycle-slideshow").cycle("prev"); }) - var resize_timeout_id; - $(window).resize(function(){ - if(resize_timeout_id){ - window.clearTimeout(resize_timeout_id); - } - resize_timeout_id = window.setTimeout(function(){ - var banner_wrap = $(".w-ba-banner__wrap[data-overlay=\".w-ad-banner__overlay_{{subpart-id}}\"]"); - var opts = banner_wrap.data('cycle.opts'); - var height = opts.slides.filter('.active').height() || opts.slides.height(); - banner_wrap.height(height).css("padding-bottom",""); - },300); - }) }) diff --git a/modules/gallery/_gallery_widget4.html.erb b/modules/gallery/_gallery_widget4.html.erb index 2b56d73..fc6ec94 100644 --- a/modules/gallery/_gallery_widget4.html.erb +++ b/modules/gallery/_gallery_widget4.html.erb @@ -2,7 +2,7 @@

{{widget-title}}

- + <% OrbitHelper.render_css_in_head(["gallery_card.css"]) %>
diff --git a/modules/web_resource/_web_res_widget4.html.erb b/modules/web_resource/_web_res_widget4.html.erb index 84c3eb1..a62a89a 100644 --- a/modules/web_resource/_web_res_widget4.html.erb +++ b/modules/web_resource/_web_res_widget4.html.erb @@ -41,9 +41,8 @@ .widget-link.widget-4 .button-mid{ position: absolute; width: 100%; - height: 100%; - top: 0; - left: 0; + height: 0; + top: 50%; } .widget-link.widget-4 .button-mid .fa{ cursor: pointer; diff --git a/modules/web_resource/_web_res_widget5.html.erb b/modules/web_resource/_web_res_widget5.html.erb index 069226c..b5ddba8 100644 --- a/modules/web_resource/_web_res_widget5.html.erb +++ b/modules/web_resource/_web_res_widget5.html.erb @@ -42,9 +42,8 @@ .widget-link.widget-5 .button-mid{ position: absolute; width: 100%; - height: 100%; - top: 0; - left: 0; + height: 0; + top: 50%; } .widget-link.widget-5 .button-mid .fa{ cursor: pointer; diff --git a/modules/web_resource/_web_res_widget6.html.erb b/modules/web_resource/_web_res_widget6.html.erb index f3aca38..b9d10f2 100644 --- a/modules/web_resource/_web_res_widget6.html.erb +++ b/modules/web_resource/_web_res_widget6.html.erb @@ -43,9 +43,8 @@ .widget-link.widget-6 .button-mid{ position: absolute; width: 100%; - height: 100%; - top: 0; - left: 0; + height: 0; + top: 50%; } .widget-link.widget-6 .button-mid .fa{ cursor: pointer; diff --git a/widgets/site_menu_widget/_site_menu_widget1.html.erb b/widgets/site_menu_widget/_site_menu_widget1.html.erb index 149b3a0..b9d4353 100644 --- a/widgets/site_menu_widget/_site_menu_widget1.html.erb +++ b/widgets/site_menu_widget/_site_menu_widget1.html.erb @@ -5,10 +5,10 @@