#Javascript jqueryを利用してアコーディオンメニューをページに導入したいです。
レイアウト
□□←ブロック<div>が2つ横に並んでいる
□□←ブロック<div>が2つ横に並んでいる
□□←ブロック<div>が2つ横に並んでいる
レスポンシブページで以下のようなアコーディオンメニューを作りたいです。
参考ページニトリ
ニトリの下部のカテゴリ欄がスマホレスポンシブ表示されたときの動き
■□←黒ブロックをクリックしたさいに、隣のブロックは動かず
■■したのブロックにアコーディオンメニューがドロップダウンしていく
■■
このような形のjqueryがないか探しているのですが、見つかりません。
そもそもこのような表示にする場合はCSSを利用してドロップダウンするメニューを
position:absoluteで下部へ移動して使うものなのかもわかりません。
ご教示お願い致します。
現状はこのような記述を行っております。
<div class="cate"> <div class="te1"> <ul class="accordion3"> <li> <p class="ac1">アコーディオン</p> <ul class="inner"> <li class="content1-1">コンテンツ1</li> <li class="content1-2">コンテンツ2</li> <li class="content1-3">コンテンツ3</li> </ul> </li> </ul> </div> <div class="te2"> <ul class="accordion3"> <li> <p class="ac1">アコーディオン</p> <ul class="inner"> <li class="content1-1">コンテンツ1</li> <li class="content1-2">コンテンツ2</li> <li class="content1-3">コンテンツ3</li> </ul> </li> </ul> </div> <div class="te3"> <ul class="accordion3"> <li> <p class="ac1">アコーディオン</p> <ul class="inner"> <li class="content1-1">コンテンツ1</li> <li class="content1-2">コンテンツ2</li> <li class="content1-3">コンテンツ3</li> </ul> </li> </ul> </div> <div class="te4"> <ul class="accordion3"> <li> <p class="ac1">アコーディオン</p> <ul class="inner"> <li class="content1-1">コンテンツ1</li> <li class="content1-2">コンテンツ2</li> <li class="content1-3">コンテンツ3</li> </ul> </li> </ul> </div> </div> <script> $(function(){ //.accordion3の中のp要素がクリックされたら $('.accordion3 p').click(function(){ //クリックされた.accordion3の中のp要素に隣接するul要素が開いたり閉じたりする。 $(this).next('ul').slideToggle(); }); }); </script> <style> .cate{width:640px; margin-left:auto; margin-right:auto;} ul{padding:0;} li{display: inline-block;} .te1,.te2,.te3,.te4{margin:0px; width:49%; float:left;} .accordion3 {text-align: center;} .accordion3 .inner {display: none;} .accordion3 .inner.open {display: block;} .accordion3 p{cursor: pointer; margin:0;} .accordion3 p.ac1{background: #F50057; width:300px;} .accordion3 .inner li.content1-1{background: #F50057; padding:0;} .accordion3 .inner li.content1-2{background: #F50057; padding:0;} .accordion3 .inner li.content1-3{background: #F50057; padding:0;} .accordion3 li{list-style: none; margin: 0px} </style> ``` ボディー内です。 metaタグには、jquery3.4.1を入れてあります。
回答1件
あなたの回答
tips
プレビュー