$(function(){ var $pageWrapper = $('.page-wrapper'), $btnGoTop = $('.btn-gotop'); $(window).scroll(function() { // 往下捲動時縮小 header 高度 if ($(window).width() >= 992) { if ($(this).scrollTop() > $('.header').height() * 2) { $pageWrapper.addClass('header-is-narrow'); } else { $pageWrapper.removeClass('header-is-narrow'); } } // 返回最上方按鈕 顯示/隱藏 if($(window).scrollTop() > 240){ $btnGoTop.fadeIn(200); }else{ $btnGoTop.fadeOut(200); } }); // 返回最上方 $btnGoTop.click(function(e){ e.preventDefault(); $('html, body').stop().animate({scrollTop:0}, 600); }); // 選單在上方時 - 子選單開啟/關閉 $('.site-nav > li.has-sub').mouseenter(function () { if(!$pageWrapper.hasClass('site-nav-open')){ $(this).addClass('sub-open').find('.site-nav-sub:not(.nav-sub2)').slideDown(100); } }).mouseleave(function(){ if(!$pageWrapper.hasClass('site-nav-open')){ $(this).removeClass('sub-open').find('.site-nav-sub:not(.nav-sub2)').slideUp(100); } }); $('.site-nav-sub > li.has-sub').mouseenter(function () { if(!$pageWrapper.hasClass('site-nav-open')){ $(this).addClass('sub-open').find('.nav-sub2').show().addClass('sub2-in'); } }).mouseleave(function(){ if(!$pageWrapper.hasClass('site-nav-open')){ $(this).removeClass('sub-open').find('.nav-sub2').hide().removeClass('sub2-in'); } }); // 選單在右側時 - 開啟/關閉 $('#siteNavToggle').click(function (e) { e.preventDefault(); $pageWrapper.toggleClass('site-nav-open'); }); // 選單在右側時 - 點選 overlay 關閉右側選單 $('.site-nav-overlay').click(function () { $pageWrapper.removeClass('site-nav-open'); }); // 選單在右側時 - 子選單開啟/關閉 $('.site-nav > li.has-sub > a').click(function (e) { if($pageWrapper.hasClass('site-nav-open')){ e.preventDefault(); var $parent = $(this).parent(); $parent.toggleClass('sub-open'); $parent.find('.site-nav-sub:not(.nav-sub2)').slideToggle(300); $parent.siblings().removeClass('sub-open').find('.site-nav-sub:not(.nav-sub2)').slideUp(300); } }); // 選單在右側時 - 視窗大於768時關閉右側選單 $(window).resize(function() { if ($(window).width() >= 992) { $pageWrapper.removeClass('site-nav-open'); } }); // 錨點捲動 $('.js-anchor-scroll').click(function (e) { e.preventDefault(); $('html, body').animate({ scrollTop: $($(this).attr('href')).offset().top - 80 }, 600); }); });