https://codepen.io/125naroom/pen/PMZZRx
こちらのサイトを参考に、
1つ開けると他は閉じるアコーディオンを作成したいのですが、
data属性を使用している影響?でアコーディオンを1つ1つ開閉しないといけなくなっています。
デザインの都合上、
ボタンとアコーディオンは兄弟要素としてではなく、
別の要素として実装したいです。
HTML
1<div class="board_item"> 2 <div class="board_list"> 3 <ul> 4 <li> 5 <div class="btn" data-target="con1"></div> 6 </li> 7 <li> 8 <div class="btn" data-target="con2"></div> 9 </li> 10 <li> 11 <div class="btn" data-target="con3"></div> 12 </li> 13 </ul> 14 </div> 15 <div class="accordion_list"> 16 <ul> 17 <li class="accordion_item" id="con1"> 18 <p>これはダミーテキストです。段落テキストをここに記載します。これはダミーテキストです。段落テキストをここに記載します。これはダミーテキストです。段落テキストをここに記載します。これはダミーテキストです。段落テキストをここに記載します。これはダミーテキストです。段落テキストをここに記載します。これはダミーテキストです。段落テキストをここに記載します。これはダミーテキストです。段落テキストをここに記載します。これはダミーテキストです。</p> 19 </li> 20 <li class="accordion_item" id="con2"> 21 <p>これはダミーテキストです。段落テキストをここに記載します。これはダミーテキストです。段落テキストをここに記載します。これはダミーテキストです。段落テキストをここに記載します。これはダミーテキストです。段落テキストをここに記載します。これはダミーテキストです。段落テキストをここに記載します。これはダミーテキストです。段落テキストをここに記載します。これはダミーテキストです。段落テキストをここに記載します。これはダミーテキストです。</p> 22 </li> 23 <li class="accordion_item" id="con3"> 24 <<p>これはダミーテキストです。段落テキストをここに記載します。これはダミーテキストです。段落テキストをここに記載します。これはダミーテキストです。段落テキストをここに記載します。これはダミーテキストです。段落テキストをここに記載します。これはダミーテキストです。段落テキストをここに記載します。これはダミーテキストです。段落テキストをここに記載します。これはダミーテキストです。段落テキストをここに記載します。これはダミーテキストです。</p> 25 </li> 26 </ul> 27 </div> 28</div>
js
1var $boardBtn = $('.board_btn'); 2 3$boardBtn.on('click', function() { 4 $boardBtn.toggleClass('active'); 5 var $accordion = $('#' + $(this).attr('data-target')); 6 $accordion.slideToggle(); 7 $boardBtn.not($(this)).removeClass('active'); 8 $accordion.not($(this)).next().slideUp(); 9});
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。