$(document).ready(function() { // マウスホバー時のイベント $('nav.pc .nav_wrap li').hover( function() { var li = $(this); // 0.2秒待ってからnav-openクラスの追加を試みる setTimeout(function() { // 他の.nav_link_wrapにnav-openが付与されている場合は何もしない if ($('nav.pc .nav_wrap li.nav-open').length > 0) { return; } // ホバーが開始されたときには、対応するbuttonと.nav_link_wrapにnav-openクラスを追加 li.children('button').addClass('nav-open'); li.children('.nav_link_wrap').addClass('nav-open'); }, 200); }, function() { // ホバーが終了したときには、0.2秒後にnav-openクラスを削除 // ただし、マウスが.nav_link_wrap上にある場合は削除しない var li = $(this); setTimeout(function() { if (!li.find('.nav_link_wrap').is(':hover')) { li.children('button').removeClass('nav-open'); li.children('.nav_link_wrap').removeClass('nav-open'); } }, 200); } ); // マウスが.nav_link_wrapから離れたときのイベント $('nav.pc .nav_wrap li .nav_link_wrap').mouseleave(function() { // マウスが.nav_link_wrapから離れたときには、0.2秒後にnav-openクラスを削除 var li = $(this).closest('li'); setTimeout(function() { li.children('button').removeClass('nav-open'); li.children('.nav_link_wrap').removeClass('nav-open'); }, 200); }); // ナビゲーションリンクのフォーカスイベント $('nav.pc .nav_wrap li .nav_link_wrap a').on('focusin focusout', function() { var li = $(this).closest('li'); if ($(this).is(':focus')) { // フォーカスがあるときに.nav_link_wrapから離れたときに、0.2秒後にnav-openクラスを削除 li.children('button').removeClass('nav-open'); li.children('.nav_link_wrap').removeClass('nav-open'); } }); // タブキー操作時のイベント $(document).ready(function() { $('.nav_wrap li').on('focusin focusout', function() { // 他の.nav_wrap li内のbuttonおよび.nav_link_wrapからnav-openクラスを削除する $('nav.pc .nav_wrap li button, nav.pc .nav_wrap li .nav_link_wrap').removeClass('nav-open'); // 対象の.nav_wrap li内のbuttonおよび.nav_link_wrapにnav-openクラスを追加する $(this).children('button, .nav_link_wrap').addClass('nav-open'); }).on('focusout', function() { $(this).children('button').removeClass('nav-open'); $(this).children('.nav_link_wrap').removeClass('nav-open'); }); }); }); $(function() { // ハンバーガーメニュー sp function handleResponsiveNav() { if (window.innerWidth <= 1024) { // $('nav.sp .nav_link_wrap').hide(); $('.nav_btn #menu-button').off('click'); $('.nav_btn #menu-button').click(function () { $(this).toggleClass('menu-open'); $('nav.sp').toggleClass('menu-open').fadeIn(300); $('nav.sp .nav_wrap li button').removeClass('is-active'); $('nav.sp .nav_wrap li .nav_link_wrap').stop().slideUp(300); }); $('nav.sp ul.nav_wrap li button').off('click'); $('nav.sp ul.nav_wrap li button').on('click', function () { $(this).toggleClass('is-active'); $(this).next('nav.sp .nav_link_wrap').slideToggle(); }); } } handleResponsiveNav(); $(window).resize(function () { handleResponsiveNav(); }); // ヘッダーの色変更 & ロゴのサイズ変更 var header = $('header'); var h1 = header.find('h1'); var p = header.find('.site_link'); $(window).scroll(function() { var scrollPosition = $(window).scrollTop(); if (scrollPosition > 10) { header.addClass('scroll'); h1.addClass('scroll'); p.addClass('scroll'); } else { header.removeClass('scroll'); h1.removeClass('scroll'); p.removeClass('scroll'); } }); }); $(function () { // ヘッダーの高さ const height = $("header").height(); $("main").css("margin-top", height); });