// 変数定義 -------------------------
const memubtn = document.getElementById('memubtn'); // メニュー開閉のボタン
const wrapper = document.getElementById('wrapper'); // ページ全体を囲む要素 wrapper
const nav = document.getElementById('nav'); // ドロワーメニュー要素 nav
const openClass = 'navOpen'; // メニューオープン時に wrapper につくclass
let navopen = false; // メニューオープンの判定
// 関数定義 -------------------------
const navToggle = () =>{
if( navopen ){
navClose();
}else{
navOpen();
}
}
// メニューオープン時の関数
const navOpen = () =>{
navopen = true;
const top = window.pageYOffset;
wrapper.setAttribute('style',`top:-${top}px`);
wrapper.classList.add(openClass);
}
// メニュークローズ時の関数
const navClose = () =>{
const closeFirst = (callback)=>{
navopen = false;
let scrolltop = wrapper.style.top;
scrolltop = scrolltop.slice(1,-2);
wrapper.style.top = "";
wrapper.classList.remove(openClass);
callback(scrolltop);
}
closeFirst((scrolltop)=>{
window.scrollTo(0, scrolltop);
});
}
// 関数実行 -------------------------
if( memubtn != null){
memubtn.addEventListener('click', navToggle, false);
}
content_copy
コードをクリップボードにコピー