イベントの解除かクラスの解除方法がわからないです。
ハンバーガーボタンをクリックして、横からナビメニューが出てきた後、
そのメニューをクリックすると、スクロールでコンテンツに移動して、ナビメニューは自動的に閉じるようにしたいです。
スクロールで移動するのと、クリックした後ナビメニューを閉じるのまではできたのですが、
その後ナビメニューが開かなくなります。
下記を見ていただきたいのですが、閉じるために加えた'nav-close'というクラスが、
メニューを閉じた後でもずっとついたままになっているのが原因だと思われます。
やりたいこととしては、ナビメニューが閉じた後には'nav-close'というクラスを削除したいです。
ちなみにレスポンシたときにハンバーガボタンが出てくるのでmatchMediaをつけています。
どなたか教えていただけますと幸いです。
(javascript)
function eventRemove (){
closeNavMenu.classList.toggle('nav-close');
}
if (matchMedia('only screen and (max-width:780px').matches){
for (let i = 0; i < closeBtn.length; i++){
closeBtn[i].addEventListener('click', eventRemove);
}
}
(CSS)
.nav{
position: fixed;
top: 0;
right: 0;
width: 35%;
height: 100vh;
padding: 73px 0;
background-color: #4d5269;
z-index: 20;
transform: translateX(100%);
transition: .5s cubic-bezier(0.175, 0.885, 0.32, 1.275);
box-shadow: 0 0 4px #333;
}
.nav.nav-close{
transform: translateX(100%);
}
(HTML)
<ul class="nav"> <li class="nav-list"><a href="#menu1" class="close">Service</a></li> <li class="nav-list"><a href="#menu2" class="close">Works</a></li> <li class="nav-list"><a href="#menu3" class="close">Skills</a></li> <li class="nav-list"><a href="#menu4" class="close">Profile</a></li> <li class="nav-list"><a href="#menu5" class="close">Q&A</a></li> <li class="nav-list"><a href="#menu6" class="close">Contact</a></li> </ul>