// JavaScript Document $(function(){ var ua = navigator.userAgent; // 〓〓〓 スマホ用メニュー表示 〓〓〓 function spMenuOpen(){ $('[data-content-body]').addClass('active'); $('[data-js-menu="close"]').addClass('head_btn_menu_open'); $('[data-js-menu-visit]').attr('data-js-menu-visit','close'); $('[data-js-menu-tel]').attr('data-js-menu-tel','close'); $('[data-js-menu-tel],[data-js-menu-visit]').removeClass('active'); $('[data-js-menu="close"]').attr('data-js-menu','open'); $('body').append('
'); return false; } function spMenuClose(){ $('[data-content-body]').removeClass('active'); $('[data-js-menu="open"]').removeClass('head_btn_menu_open'); $('[data-js-menu="open"]').attr('data-js-menu','close'); $('[data-js-menu="hider"]').remove(); return false; } $(document).on('click','[data-js-menu="close"]',function(){ spMenuOpen(); }); $(document).on('click','[data-js-menu="open"]',function(){ spMenuClose(); }); function spMenuVisitOpen(){ $('[data-content-body]').addClass('active'); $('[data-js-menu-visit="close"]').addClass('active'); $('[data-js-menu-visit="close"]').attr('data-js-menu-visit','open'); $('[data-js-menu="open"]').removeClass('head_btn_menu_open'); $('[data-js-menu="open"]').attr('data-js-menu','close'); $('[data-js-menu-tel]').attr('data-js-menu-tel','close'); $('[data-js-menu-tel]').removeClass('active'); $('body').append(''); return false; } function spMenuVisitClose(){ $('[data-content-body]').removeClass('active'); $('[data-js-menu-visit="open"]').removeClass('active'); $('[data-js-menu-visit="open"]').attr('data-js-menu-visit','close'); $('[data-js-menu="hider"]').remove(); return false; } $(document).on('click','[data-js-menu-visit="close"]',function(){ spMenuVisitOpen(); }); $(document).on('click','[data-js-menu-visit="open"]',function(){ spMenuVisitClose(); }); function spMenuTelOpen(){ $('[data-content-body]').addClass('active'); $('[data-js-menu-tel="close"]').addClass('active'); $('[data-js-menu-tel="close"]').attr('data-js-menu-tel','open'); $('[data-js-menu="open"]').removeClass('head_btn_menu_open'); $('[data-js-menu="open"]').attr('data-js-menu','close'); $('[data-js-menu-visit]').attr('data-js-menu-visit','close'); $('[data-js-menu-visit]').removeClass('active'); $('body').append(''); return false; } function spMenuTelClose(){ $('[data-content-body]').removeClass('active'); $('[data-js-menu-tel="open"]').removeClass('active'); $('[data-js-menu-tel="open"]').attr('data-js-menu-tel','close'); $('[data-js-menu="hider"]').remove(); return false; } $(document).on('click','[data-js-menu-tel="close"]',function(){ spMenuTelOpen(); }); $(document).on('click','[data-js-menu-tel="open"]',function(){ spMenuTelClose(); }); // 〓〓〓 スマホ用サブメニュー表示 〓〓〓 // マウスホバー時の挙動 $('.head_menu_main>li').on({ 'mouseenter':function(){ var WindowWidth = $(window).width(); if(WindowWidth >= 992){ //PCサイズ $('[data-js-menu-sub]').removeClass('head_menu_sub_open'); $('[data-js-menu-sub]').attr('data-js-menu-sub','close'); $(this).children('a').addClass('head_menu_sub_open'); $(this).children('a').attr('data-js-menu-sub','open'); } }, 'mouseleave':function(){ var WindowWidth = $(window).width(); if(WindowWidth >= 992){ //PCサイズ $('[data-js-menu-sub]').removeClass('head_menu_sub_open'); $('[data-js-menu-sub]').attr('data-js-menu-sub','close'); } } }); // サブメニューが閉じている時にクリックした際の挙動(=SP時のサブメニューの開閉処理) $(document).on('click','[data-js-menu-sub="close"]',function(){ var WindowWidth = $(window).width(); if(WindowWidth < 992){ //タブレット以下 $(this).toggleClass('head_menu_sub_open'); $(this).next('.head_menu_sub').slideToggle(); return false; }else{ $('[data-js-menu-sub]').removeClass('head_menu_sub_open'); $('[data-js-menu-sub]').attr('data-js-menu-sub','close'); $(this).toggleClass('head_menu_sub_open'); $(this).attr('data-js-menu-sub','open'); return false; } }); // サブメニューが閉じている時にタッチが外れた際の挙動(=1度目のタップ時に遷移させないための処理) $(document).on('touchend','[data-js-menu-sub="close"]',function(){ var WindowWidth = $(window).width(); if(WindowWidth >= 992){ //タブレット以下 $('[data-js-menu="hider"]').remove(); $('[data-js-menu-sub]').removeClass('head_menu_sub_open'); $('[data-js-menu-sub]').attr('data-js-menu-sub','close'); $(this).toggleClass('head_menu_sub_open'); $(this).attr('data-js-menu-sub','open'); $('body').append(''); return false; } }); // サブメニューが開いている時にクリックした際の挙動(=メインメニューの遷移処理) $('a[data-js-menu-sub="open"]').click(function() { location.href = $(this).attr('href'); }); // グレーアウト処理 $(document).on('click','[data-js-menu="hider"]',function(){ var WindowWidth = $(window).width(); if(WindowWidth >= 992){ //タブレット以上 $('[data-content-body]').removeClass('active'); $('[data-js-menu-sub]').removeClass('head_menu_sub_open'); $('[data-js-menu-sub]').attr('data-js-menu-sub','close'); $('[data-js-menu="hider"]').remove(); }else{ spMenuClose(); spMenuVisitClose(); spMenuTelClose(); } }); // 〓〓〓 RFWアコーディオン 〓〓〓 $(document).on('click','[data-js-accordion-trigger]',function(){ $(this).parents('[data-js-accordion-parent]').find('[data-js-accordion-body]').slideToggle(500); $(this).parents('[data-js-accordion-parent]').delay(500).queue(function(){ $(this).toggleClass('accordion_open').toggleClass('accordion_close'); $(this).find('.accordion_toggle_hide, .accordion_toggle_show').toggleClass('accordion_toggle_hide').toggleClass('accordion_toggle_show'); $(this).dequeue(); }); if($(this).attr('data-js-accordion-trigger')=="jump"){ var fixedHeadHeight = []; if($('[data-js-header]').css('position')==='fixed'){ var fixedHeadHeight = $('[data-js-header]').height(); }else{ var fixedHeadHeight = 0; } $('body,html').animate({ scrollTop: $(this).parents('[data-js-accordion-parent]').offset().top-fixedHeadHeight }, 500); } }); // 〓〓〓 STEPのアコーディオン 〓〓〓 $(document).on('click','[data-js-accord-step-trriger]',function(){ var fixedHeadHeight = []; $(this).parents('[data-js-accord-step-parent]').find('[data-js-accord-step-body]').toggleClass('accord_step_open'); $(this).parents('[data-js-accord-step-parent]').find('.accord_step_show, .accord_step_hide').toggleClass('accord_step_show').toggleClass('accord_step_hide'); if($('header').css('position')==='fixed'){ var fixedHeadHeight = $('.head_main').height(); }else{ var fixedHeadHeight = 0; } $('body,html').animate({ scrollTop: $(this).parents('[data-js-accord-step-parent]').offset().top-fixedHeadHeight }, 500); }); // 〓〓〓 SPでTELリンク 〓〓〓 $("a[href*=\"tel:\"]").not('[data-js-tellink="off"]').each(function(){ if(ua.indexOf('iPhone') !== -1 || ua.indexOf('iPod') !== -1 || ua.indexOf('Android') !== -1 || ua.indexOf('windows Phone') !== -1){ }else{ $(this).removeAttr("href"); } }); // 〓〓〓 ページTOPに戻る 〓〓〓 $('[data-js-gotop]').click(function(){ $('body,html').animate({ scrollTop: 0}, 500); return false; }); // 〓〓〓 スクロール時の処理 〓〓〓 function scrollFunction(){ var WindowHeight = $(window).height(); var ScrTop = $(document).scrollTop(); //var ActivePoint = $('.main_head').innerHeight() + $('.head_logo_area').height(); var ActivePoint = WindowHeight; // 1画面分スクロールしたら表示 if(ActivePoint < ScrTop){ $('[data-js-gotop]').addClass('go_top_show'); }else{ $('[data-js-gotop]').removeClass('go_top_show'); } } scrollFunction(); // 〓〓〓 スムーススクロール 〓〓〓 $("a[href^='#']").not('[data-slide],[data-js-smoothscroll="off"],[data-js-gotop]').click(function() { if($($(this).attr("href")).length){ var fixedHeadHeight = []; if($("[data-js-header]").css('position')==='fixed'){ var fixedHeadHeight = $("[data-js-header]").height(); }else{ var fixedHeadHeight = 0; } if($($(this).attr("href")).length){ $('body,html').animate({ scrollTop: $($(this).attr("href")).offset().top-fixedHeadHeight }, 500); } return false; } }); // 〓〓〓 キャンペーンページタブ 〓〓〓 $("[data-js-tab-change] li").click(function() { var num = $("[data-js-tab-change] li").index(this); $("[data-js-tab-body]").addClass('hidden'); $("[data-js-tab-body]").eq(num).removeClass('hidden'); $("[data-js-tab-change] li").removeClass('active'); $(this).addClass('active'); $('[data-match-height],[data-mh="rtw_head"],[data-mh="rtw_body"]').matchHeight(); return false; }); /** * リンク先が現在のページのURLと同じ場合は、リンクを削除 */ $("[data-js-link-delete]").each(function(){ var targetUrl = $(this).attr('href'); // 相対パスが入っている // 相対パスを絶対パスに変換 var dummyElement = document.createElement('a'); dummyElement.href = targetUrl; var absoluteTargetUrl = dummyElement.href; // ページ内リンク部分を除去 var cleanedTargetUrl = absoluteTargetUrl.replace(/#.*$/,""); var currentPageUrl = location.href; // URLを比較して一致していたらリンク削除 if(cleanedTargetUrl == currentPageUrl){ $(this).removeAttr("href"); } }); // 〓〓〓 function 〓〓〓 // スクロール $(window).scroll(function(){ scrollFunction(); }); // 画面回転 $(window).bind("orientationchange", function(){ }); // 画面サイズ変更 $(window).resize(function(){ }); }); // 〓〓〓 キャンペーンページタブ 〓〓〓 // 特定のタブを開いて遷移 $(window).on('load', function(){ if(location.hash) { var tabbarMatch = location.hash.match(/^#tab(\d+)/); if(tabbarMatch){ var tabbar = tabbarMatch[1]; $("[data-js-tab-body]").addClass('hidden'); $("[data-js-tab-body]").eq(tabbar - 1).removeClass('hidden'); $("[data-js-tab-change] li").removeClass('active'); $("[data-js-tab-change] li").eq(tabbar - 1).addClass('active'); } } }); //〓〓〓 アンカーリンク位置調整 〓〓〓 $(window).on('load', function(){ if(document.URL.indexOf("#")!==-1 && $(location.hash).length){ var fixedHeadHeight = []; if($('.head_main').css('position')==='fixed'){ var fixedHeadHeight = $('.head_main').height()+20; }else{ var fixedHeadHeight = 0; } if($(location.hash).length){ $('body,html').animate({ scrollTop: $(location.hash).offset().top-fixedHeadHeight }, 500); } return false; } });