ハンバーガーメニューのページ内リンクをクリックすると、ハンバーガーメニューが閉じるようにしたいです。
過去の質問を見ながら自分で書いてみたのですが、リンクをクリックしても閉じません。
どのようにすればいいか教えていただけないでしょうか。
html
1<head> 2 <script src="https://code.jquery.com/jquery-3.4.1.min.js"></script> 3</head> 4<body> 5 <div> 6 <ul class="header-menu"> 7 <li><a href="#about"><br>ABOUT</a></li> 8 <li><a href="#news"><br>NEWS</a></li> 9 <li><a href="#service"><br>SERVICE</a></li> 10 <li><a href="#contact"><br>CONTACT</a></li> 11 <li><a href="#company"><br>COMPANY</a></li> 12 </ul> 13 <p class="humbergerBtn open">開</p> 14 <p class="humbergerBtn close">閉</p> 15 </div> 16 <nav class="humberger"> 17 <ul> 18 <li><a href="#about"><br>ABOUT</a></li> 19 <li><a href="#news"><br>NEWS</a></li> 20 <li><a href="#service"><br>SERVICE</a></li> 21 <li><a href="#contact"><br>CONTACT</a></li> 22 <li><a href="#company"><br>COMPANY</a></li> 23 </ul> 24 </nav> 25 26 <a id="about">about</a> 27 <a id="news">news</a> 28 <a id="service">service</a> 29 <a id="contact">contact</a> 30 <a id="company">company</a> 31 32 <script src="script.js"></script> 33</body>
css
1.humberger { 2 position: fixed; 3 z-index: 20; 4 top: 100px; 5 transform: translateY(-200%); 6} 7nav.humberger.active {transform: translateY(0%);} 8.open {display: block;} 9.open.active {display: none;} 10.close.active {display: block;}
javascript
1$(function() { 2 $('.humbergerBtn').click(function() { 3 $(this).toggleClass('active'); 4 if ($(this).hasClass('active')) { 5 $('.humberger').addClass('active'); 6 $('body').addClass('overflowHidden'); 7 $('.open').addClass('active'); 8 $('.close').addClass('active'); 9 } else { 10 $('.humberger').removeClass('active'); 11 $('.open').removeClass('active'); 12 $('.close').removeClass('active'); 13 $('body').removeClass('overflowHidden'); 14 } 15 $('.humberger a').click(function() { 16 $('.humbergerBtn').trigger('click'); 17 }); 18 }); 19});
回答1件
あなたの回答
tips
プレビュー