2つのHTMLページのどちらにも共通のハンバーガーメニューを付けたいのですが
1つ目のindex.htmlは問題なく作動もするのですが2つ目のmenu.htmlページになると
表示には問題ないのですがハンバーガーが開きません。
全く同じHTMLをindex.htmlとmenu.htmlに記入しています。
cssは長かったので割愛していますが必要であれば載せます。
jsも色々いじってみたのですがうまくいかず。。。
どなたか原因わかる方いらっしゃいましたらアドバイスお願い致します。
よろしくお願いします。
html
1(index.html) 2<header id="top-head"> 3 <div class="inner"> 4 <a href="index.html"><img src="images/logo.svg" class="logopic" alt="logo"></a> 5 <div id="nav_toggle"> 6 <div> 7 <span></span> 8 <span></span> 9 <span></span> 10 </div> 11 </div> 12 <nav> 13 <ul> 14 <li class="menu"><a href="index.html">TOP</a></li> 15 <li class="menu"><a href="index.html#news">NEWS</a></li> 16 <li class="menu"><a href="index.html#about">ABOUT</a></li> 17 <li class="menu"><a href="menu.html">MENU</a></li> 18 <li class="menu"><a href="index.html#access">ACCESS</a></li> 19 <li> 20 <div class="sns1"> 21 <a href=""><img src="images/instagram.svg" class="instagram" alt="instagram"></a> 22 <a href=""><img src="images/twitter.svg" class="twitter" alt="twitter"></a> 23 <a href=""><img src="images/facebook.svg" class="facebook" alt="facebook"></a> 24 </div> 25 </li> 26 </ul> 27 </nav> 28 </div> 29 </header>
html
1(menu.html) 2<header id="top-head"> 3 <div class="inner"> 4 <a href="index.html"><img src="images/logo.svg" class="logopic" alt="logo"></a> 5 <div id="nav_toggle"> 6 <div> 7 <span></span> 8 <span></span> 9 <span></span> 10 </div> 11 </div> 12 <nav> 13 <ul> 14 <li class="menu"><a href="index.html">TOP</a></li> 15 <li class="menu"><a href="index.html#news">NEWS</a></li> 16 <li class="menu"><a href="index.html#about">ABOUT</a></li> 17 <li class="menu"><a href="menu.html">MENU</a></li> 18 <li class="menu"><a href="index.html#access">ACCESS</a></li> 19 <li> 20 <div class="sns1"> 21 <a href=""><img src="images/instagram.svg" class="instagram" alt="instagram"></a> 22 <a href=""><img src="images/twitter.svg" class="twitter" alt="twitter"></a> 23 <a href=""><img src="images/facebook.svg" class="facebook" alt="facebook"></a> 24 </div> 25 </li> 26 </ul> 27 </nav> 28 </div> 29 </header>
css
1@media screen and (max-width: 770px) { 2 #top-head { 3 height: 50px; 4 } 5 .logopic { 6 height: 80%; 7 width: 80%; 8 } 9 10 /*hamburger menu style*/ 11 #nav_toggle { 12 background: #fdfdfd00; 13 display: block; 14 width: 22px; 15 height: 22px; 16 position: relative; 17 top: 0px; 18 z-index: 1000; 19 } 20 #nav_toggle div { 21 position: relative; 22 } 23 /*hamburger menu close style*/ 24 #nav_toggle span { 25 display: block; 26 height: 1px; 27 background: #262626; 28 position: absolute; 29 width: 100%; 30 left: 0; 31 z-index: 900; 32 -webkit-transition: 0.5s ease-in-out; 33 -moz-transition: 0.5s ease-in-out; 34 transition: 0.5s ease-in-out; 35 } 36 #nav_toggle span:nth-child(1) { 37 top: 0px; 38 } 39 #nav_toggle span:nth-child(2) { 40 top: 10px; 41 } 42 #nav_toggle span:nth-child(3) { 43 top: 20px; 44 } 45 /*hamburger menu open style*/ 46 .open #nav_toggle span:nth-child(1) { 47 top: 10px; 48 -webkit-transform: rotate(135deg); 49 -moz-transform: rotate(135deg); 50 transform: rotate(135deg); 51 } 52 .open #nav_toggle span:nth-child(2) { 53 width: 0; 54 left: 50%; 55 } 56 .open #nav_toggle span:nth-child(3) { 57 top: 10px; 58 -webkit-transform: rotate(-135deg); 59 -moz-transform: rotate(-135deg); 60 transform: rotate(-135deg); 61 } 62 /*nav style*/ 63 #top-head nav { 64 display: none; 65 position: absolute; 66 top: 0; 67 right: 0; 68 width: 100%; 69 height: 100vh; 70 background: #f8f8f8dd; 71 z-index: 800; 72 } 73 #top-head nav ul { 74 display: block; 75 width: 100%; 76 } 77 #top-head nav ul li { 78 text-align: center; 79 border-bottom: 1px solid #dcdcdc; 80 } 81 #top-head nav ul li:last-child { 82 border: none; 83 } 84 /*nav link style*/ 85 #top-head nav ul li a { 86 display: block; 87 color: #262626; 88 padding: 28px; /*列の高さ*/ 89 } 90 91 .sns1 { 92 display: flex; 93 justify-content: center; 94 } 95 .menu a::after { 96 content: none; 97 } 98 .menu a:hover::after { 99 content: none; 100 } 101}
js
1 $('#nav_toggle').click(function(){ 2 $("#top-head").toggleClass('open'); 3 $("nav").slideToggle(500); 4 }); 5 //menu link click 6 $('nav a').click(function(){ 7 if(window.innerWidth <= 680){ 8 $("#top-head").toggleClass('open'); 9 $("nav").slideToggle(500); 10 } 11 }); 12});
回答1件
あなたの回答
tips
プレビュー