前提・実現したいこと
★開いたままのページ内リンクのハンバーガーメニューを閉じたい
WEB初心者です。
1ページ完結(LP)のサイトを制作していて、
ハンバーガーメニューでフルスクリーンでメニューが出るように設定しました。
ページ内リンクで移動はしてくれるもののメニュー画面が閉じません。
指示を記述していないので当たり前ですが、
どんな指示を書いていいか分からずにいます。
追加指示文等を教えて頂ければ助かります。
該当のソースコード
HTML
1<header> 2 3 <a class="menu"> 4 <span class="menu__line menu__line--top"></span> 5 <span class="menu__line menu__line--center"></span> 6 <span class="menu__line menu__line--bottom"></span> 7 </a> 8 <nav class="gnav"> 9 <div class="gnav__wrap"> 10 <ul class="gnav__menu"> 11 <li><a href="#page1">page1</a></li> 12 <li><a href="#page2">page2</a></li> 13 <li><a href="#page3">page3</a></li> 14 </ul> 15 </div> 16 </nav> 17</header>
CSS
1/*menu*/ 2.menu{ 3 height: 20px; 4 position: absolute; 5 right: 20px; 6 top: 20px; 7 width: 30px; 8 z-index: 99; 9} 10.menu__line{ 11 background: #fff; 12 display: block; 13 height: 2px; 14 position: absolute; 15 transition:transform .3s; 16 width: 100%; 17} 18.menu__line--center{ 19 top: 9px; 20} 21.menu__line--bottom{ 22 bottom: 0; 23} 24.menu__line--top.active{ 25 top: 8px; 26 transform: rotate(45deg); 27} 28.menu__line--center.active{ 29 transform:scaleX(0); 30} 31.menu__line--bottom.active{ 32 bottom: 10px; 33 transform: rotate(135deg); 34} 35/*gnav*/ 36.gnav{ 37 background: rgba(0,0,0,0.8); 38 display: none; 39 height: 100%; 40 position: fixed; 41 width: 100%; 42 z-index: 98; 43} 44.gnav__wrap{ 45 align-items:center; 46 display: flex; 47 height: 100%; 48 justify-content: center; 49 position: absolute; 50 width: 100%; 51}
JQuery
1<script src="https://cdn.jsdelivr.net/npm/jquery@3/dist/jquery.min.js"></script> 2 3<script> 4$('.menu').on('click',function(){ 5 $('.menu__line').toggleClass('active'); 6 $('.gnav').fadeToggle(); 7 $('.drawer').drawer('close'); 8 9$('#nav a').on('click', function() { 10 $('#nav').toggleClass('active'); 11 $(".menu").toggleClass('active'); 12}) 13 14}); 15</script>
補足情報(FW/ツールのバージョンなど)
このサイトを参考にしています。
https://webdesignday.jp/inspiration/technique/html/4746/
回答1件
あなたの回答
tips
プレビュー