アコーディオンメニューを実装したいです。クリックで開くタイプのメニューです。
しかし、ひとつ開くとほかのところも同時に開いてしまうのをなんとかしたいです。
現状の見た目、動作
↑現状こんな感じです。
html css jsのコードはこんな感じです。
html↓
<div class="section s_08"> <div class="accordion_area"> <div class="accordion_one _flex"> <div class="accordion_header">Category</div> <div class="accordion_inner"> <div class="accordion_one"> <div class="accordion_header_one">カテゴリが入ります</div> <div class="accordion_header_one">カテゴリが入ります</div> <div class="accordion_header_one">カテゴリが入ります</div> <div class="accordion_header_one">カテゴリが入ります</div> </div> </div> </div> <div class="accordion_one _flex"> <div class="accordion_header">Keyword</div> <div class="accordion_inner"> <div class="accordion_one"> <div class="accordion_header_one">カテゴリが入ります</div> <div class="accordion_header_one">カテゴリが入ります</div> <div class="accordion_header_one">カテゴリが入ります</div> <div class="accordion_header_one">カテゴリが入ります</div> </div> </div> </div> <div class="accordion_one _flex"> <div class="accordion_header">Year</div> <div class="accordion_inner"> <div class="accordion_one"> <div class="accordion_header_one">カテゴリが入ります</div> <div class="accordion_header_one">カテゴリが入ります</div> <div class="accordion_header_one">カテゴリが入ります</div> <div class="accordion_header_one">カテゴリが入ります</div> </div> </div> </div> </div> </div> コード
css↓
.accordion_area{ width:655px; margin:0 auto; display:-webkit-box; display:-ms-flexbox; display:flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; margin-top:100px; } .accordion_area .accordion_one._flex{ width:210px; /* display:inline-block; */ border:1px solid #00B8B6; border-radius:23px; font-family : GothamRounded Medium; font-size : 16px; line-height : 30px; letter-spacing : 4.48px; color : #00B8B6; padding:15px 0 15px 15px; text-align: left; } .accordion_area .accordion_header{ position:relative; } .accordion_area .accordion_header::after{ content:""; width:10px; height:10px; border-bottom:1px solid #00B8B6; border-right:1px solid #00B8B6; position:absolute; top:50%; right:30px; transform: rotate(45deg)translateY(-150%); } .s_08 .accordion_one .accordion_inner{ display: none; padding: 0; box-sizing: border-box; } コード
js↓
// .s_08 .accordion_one $(function(){ //.accordion_oneの中の.accordion_headerがクリックされたら $('.s_08 .accordion_one .accordion_header').click(function(){ //クリックされた.accordion_oneの中の.accordion_headerに隣接する.accordion_innerが開いたり閉じたりする。 $(this).next('.accordion_inner').slideToggle(); $(this).toggleClass("open"); //クリックされた.accordion_oneの中の.accordion_header以外の.accordion_oneの中の.accordion_headerに隣接する.accordion_oneの中の.accordion_innerを閉じる $('.s_08 .accordion_one .accordion_header').not($(this)).next('.accordion_one .accordion_inner').slideUp(); $('.s_08 .accordion_one .accordion_header').not($(this)).removeClass("open"); }); }); コード
これをクリックするとクリックした部分だけ下に開くようにしたいです。
どなたかわかる方いらっしゃいましたら、教えてください。よろしくお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/10/05 06:53