実現したいこと
ハンバーガーメニューの実装
前提
発生している問題・エラーメッセージ
以下の動くWEBデザインのアイデア帳のハンバーガーメニューを参考に ハンバーガーを組んだのですが、開閉しません。 検証モードでopenbtn1をクリックすると、一瞬色が変わるのですがクラスactiveは追加されません。 クラス名がつきそうに光るのに、反応はないです…打ち消されているみたいな動きです。 https://coco-factory.jp/ugokuweb/move01/5-2-1/
該当のソースコード
html
1<div class="header_sp"> 2 <h1> 3 <a href="<?php echo home_url(); ?>"> 4 <p>キノマド</p> 5 <img src="<?php echo get_template_directory_uri(); ?>/img/common/logo.png" alt=""> 6 </a> 7 </h1> 8 <!-- <div class="toggle"> --> 9 <div class="openbtn1"><span></span><span></span><span></span></div> 10 <!-- </div> --> 11 <div class="header_sp_nav"> 12 <div class="header_sp_nav_inner"> 13 <ul class="nav_sp"> 14 <li><a href="<?php echo home_url(); ?>/archives/news/">NEWS</a></li> 15 <li><a href="<?php echo home_url(); ?>/topics/">TOPICS</a></li> 16 <li><a href="<?php echo home_url(); ?>/#sec_schedule">SCHEDULE</a></li> 17 <li><a href="<?php echo home_url(); ?>/event/">EVENT</a></li> 18 <li><a href="<?php echo home_url(); ?>/archives/films">FILMS</a></li> 19 <li><a href="<?php echo home_url(); ?>/#sec_about">ABOUT</a></li> 20 <li><a href="<?php echo home_url(); ?>/#sec_contact">CONTACT</a></li> 21 <li> 22 <ul class="nav_sp_sns"> 23 <li><a href=""><img src="<?php echo get_template_directory_uri(); ?>/img/common/sns_fb.png" alt=""></a></li> 24 <li><a href=""><img src="<?php echo get_template_directory_uri(); ?>/img/common/sns_inst.png" alt=""></a></li> 25 <li><a href=""><img src="<?php echo get_template_directory_uri(); ?>/img/common/sns_tw.png" alt=""></a></li> 26 <li><a href=""><img src="<?php echo get_template_directory_uri(); ?>/img/common/sns_mail.png" alt=""></a></li> 27 </ul> 28 </li> 29 </ul> 30 </div> 31 </div> 32 </div>
js
1$(document).ready(function () { 2 $(function () { 3 $(".openbtn1").click(function () { 4 $(this).toggleClass("active"); 5 }); 6 }); 7});
css
1.openbtn1 { 2 position: relative; /*ボタン内側の基点となるためrelativeを指定*/ 3 // background: #fff; 4 cursor: pointer; 5 width: 80px; 6 height: 80px; 7 top: 0px; 8} 9span { 10 display: inline-block; 11 transition: all 0.4s; /*アニメーションの設定*/ 12 position: absolute; 13 left: 22px; 14 height: 3px; 15 border-radius: 2px; 16 background: black; 17 width: 45%; 18} 19.openbtn1 span:nth-of-type(1) { 20 top: 24px; 21} 22.openbtn1 span:nth-of-type(2) { 23 top: 36px; 24} 25.openbtn1 span:nth-of-type(3) { 26 top: 49px; 27} 28/*activeクラスが付与されると線が回転して×に*/ 29// } 30.openbtn1.active { 31 background: transparent; 32} 33.openbtn1.active span:nth-of-type(1) { 34 top: 31px; 35 left: 26px; 36 transform: translateY(6px) rotate(-45deg); 37 width: 45%; 38} 39.openbtn1.active span:nth-of-type(2) { 40 opacity: 0; /*真ん中の線は透過*/ 41} 42.openbtn1.active span:nth-of-type(3) { 43 top: 44px; 44 left: 26px; 45 transform: translateY(-6px) rotate(45deg); 46 width: 45%; 47} 48 49.header_sp_nav { 50 display: none; 51 width: 100%; 52 height: 100%; 53 background: #f5f5f5; 54 position: absolute; 55 right: 0; 56 top: 90px; 57 &.active { 58 display: block; 59 } 60} 61.header_sp_nav_inner { 62 padding: 40px; 63} 64.nav_sp { 65 transition: 0.3s all ease; 66 a { 67 font-size: 2rem; 68 margin-bottom: 20px; 69 display: block; 70 text-decoration: none; 71 display: block; 72 margin-bottom: 7px; 73 color: #000; 74 transition: 0.3s all ease; 75 font-family: "Oswald", sans-serif; 76 &::viseited { 77 color: #000; 78 } 79 &:hover { 80 text-decoration: underline; 81 } 82 } 83} 84 85.nav_sp_sns { 86 display: flex; 87 justify-content: space-between; 88 width: fit-content; 89 gap: 5px; 90 margin: 40px 0; 91 li { 92 display: flex; /* 追加 */ 93 align-items: center; /* 追加 */ 94 width: 30px; 95 height: 30px; 96 background: #222; 97 border-radius: 4px; 98 transition: 0.3s all ease; 99 margin-right: 20px; 100 text-align: center; 101 a { 102 display: flex; 103 justify-content: center; 104 align-items: center; 105 text-decoration: none; 106 text-align: center; 107 padding: 2px; 108 width: 100%; 109 margin-bottom: 0; 110 img { 111 height: 20px; 112 } 113 } 114 &:hover { 115 transform: scale(1.1); 116 } 117 } 118}
試したこと
・toggleClassは反応しないのですが、
addClassでactiveは追加されました。
・検証モードでactiveを追加するとcssは反映されます。
補足情報(FW/ツールのバージョンなど)
9月21日22時40分
ご回答いただいたコードで修正→変化なし
コピペで実装できる他のハンバーガーメニューを実装→反応せず
jQueryを使わないコードに書き換え→変化なし
ハンバーガーの位置を変更→変化なし
別の媒体で検証→変化なし
ほかに検証すべきことがわかる方いましたらお願いいたします。

回答2件
あなたの回答
tips
プレビュー