/* =================================================================== * 読み込み時・リサイズ時処理 =================================================================== */ $(function($){ var timer = false; var windowwidth = window.innerwidth || document.documentelement.clientwidth || 0; var nowwidth; // 読み込み時処理 $(window).on('load', function(){ spmenu(); subnav(); headerpadding(); innerlinkmenu(); }); // リサイズ時処理 $(window).on('resize', function(){ if (timer !== false) { cleartimeout(timer); } timer = settimeout(function() { nowwidth = window.innerwidth || document.documentelement.clientwidth || 0; if ( windowwidth != nowwidth ) { spmenu(); subnav(); headerpadding(); innerlinkmenu(); windowwidth = window.innerwidth || document.documentelement.clientwidth || 0; } }, 100); }); }); /* =================================================================== * スマートフォン用メニューボタンの表示 =================================================================== */ function spmenu() { $('#spmenu').on('click', function(e) { $('.gnav').slidetoggle(e); $('#navbtnicon').toggleclass('close'); $('html, body').toggleclass('lock'); }); } /* =================================================================== * サブメニューの表示 =================================================================== */ function subnav() { if ($('#spmenu').css('display') == 'block') { $('.subnav > a').off().on('click', function(e) { e.preventdefault(); $(this).next('ul').slidetoggle(); $(this).parent().toggleclass('active'); }); } else { if('ontouchstart' in document) { $('.subnav > a').off().on('click', function(e) { e.preventdefault(); }); } } } /* =================================================================== * ヘッダー・メニューの余白調整 =================================================================== */ function headerpadding() { var headerheight = $('header').outerheight(true); $('body').css({'padding-top' : headerheight + 'px'}); $('nav .inner > ul').css({'top' : headerheight + 'px'}); } /* =================================================================== * スマートフォン用メニューの表示・非表示 =================================================================== */ function innerlinkmenu() { $('.gnav a[href^="#"]').on('click', function(e) { if($('#spmenu').css('display') == 'block') { $('.gnav').slidetoggle(e); $('#navbtnicon').toggleclass('close'); $('html, body').toggleclass('lock'); } }); }