// スクロールバーを含まないvw設定 const setViewportWidth = function () { const $100vw = document.documentElement.clientWidth; const $50vw = $100vw / 2; const $1vw = $100vw / 100; document.documentElement.style.setProperty('--1vw', `${$1vw}px`); document.documentElement.style.setProperty('--50vw', `${$50vw}px`); document.documentElement.style.setProperty('--100vw', `${$100vw}px`); } window.addEventListener('DOMContentLoaded', setViewportWidth); window.addEventListener('resize', setViewportWidth); // ウィンドウ幅が743px以下かどうかをチェックする関数 function isSmallScreen() { return window.innerWidth <= 743; } // イベントリスナーを設定する関数 function setupEventListeners() { if (isSmallScreen()) { // .st-blueBarのメニュー開閉動作 $('.current > a').on('click', function(e) { e.preventDefault(); // デフォルトのリンク動作を防止 $(this).closest('.headerNavi__list').addClass('toggle-on'); console.log("クラスを追加"); }); // .headerNavi要素外をクリックしたら.toggle-onを削除 $(document).on('click', function(e) { if (!$(e.target).closest('.headerNavi').length) { $('.headerNavi__list').removeClass('toggle-on'); console.log("クラスを削除"); } }); // .headerNaviの疑似要素にクリックイベント $('.headerNavi').on('click', function(e) { var remToPx = parseFloat(getComputedStyle(document.documentElement).fontSize); var pseudoElementWidth = 5.6 * remToPx; var pseudoElementHeight = 3.9 * remToPx; var rect = this.getBoundingClientRect(); var clickX = e.clientX - rect.left; var clickY = e.clientY - rect.top; if (clickX >= rect.width - pseudoElementWidth && clickY <= pseudoElementHeight) { console.log('右上の指定領域がクリックされました'); $('.current > a').closest('.headerNavi__list').toggleClass('toggle-on'); } }); } else { // イベントリスナーを削除 $('.current > a').off('click'); $(document).off('click'); $('.headerNavi').off('click'); } } // 初期化時とリサイズ時にイベントリスナーを設定 $(document).ready(setupEventListeners); $(window).on('resize', setupEventListeners); // カレントページのaタグのhrefを削除 $('.current > a').removeAttr('href'); // wow.js wow = new WOW( { boxClass: 'wow', // default animateClass: 'animated', // default offset:0// アニメーションをスタートさせる距離 } ); wow.init();