前提・実現したいこと
WordPressで検索サイトを構築しています。
検索部分のアコーディオンメニューで一個開けると他は閉じるようにしたいのですが、
他を開けても閉じずに開いたままになってしまいます。
ご指導のほどよろしくお願いします。
該当のソースコード
html
1<div class="accordionbox" id="accordion"> 2 <ul class="accordion"> 3 <li class="accordionlist"> 4 <div class="clearfix"> 5 <div class="accordionlist-title"> 6 <p>カテゴリで探す</p> 7 </div> 8 <p class="accordion_icon"><span></span><span></span><span></span></p> 9 </div> 10 <ul class="accordionlist-item"> 11 <li><a href="">未分類</a></li> 12 <li><a href="">掘削・運搬・解体・林業</a></li> 13 <li><a href="">バックホー</a></li> 14 <li><a href="">バックホー用アタッチメント</a></li> 15 <li><a href="">林業機械</a></li> 16 <li><a href="">発電機・溶接機</a></li> 17 <li><a href="">コンプレッサー・エア工具</a></li> 18 <li><a href="">転圧・道路用機械</a></li> 19 <li><a href="">荷役機械・吊具</a></li> 20 <li><a href="">ベルトコンベアー</a></li> 21 <li><a href="">レンタカー・高所作業車</a></li> 22 <li><a href="">トラクター・ビーチクリーナー</a></li> 23 <li><a href="">各種ポンプ・高圧洗浄機</a></li> 24 <li><a href="">コンクリート打設機械</a></li> 25 <li><a href="">電動工具・小型エンジン機械</a></li> 26 <li><a href="">草刈・山林用・チェーンソー</a></li> 27 <li><a href="">掃除機・集塵機</a></li> 28 <li><a href="">冷熱機・断熱機・送風機</a></li> 29 <li><a href="">照明機器</a></li> 30 <li><a href="">安全保安機器</a></li> 31 <li><a href="">軽仮設材</a></li> 32 <li><a href="">敷鉄板・ゴムマット</a></li> 33 <li><a href="">ユニットハウス・仮設トイレ</a></li> 34 <li><a href="">備品</a></li> 35 <li><a href="">測量機、測定器</a></li> 36 <li><a href="">水タンク・ノッチタンク</a></li> 37 <li><a href="">基礎工事用機械</a></li> 38 <li><a href="">除雪機・タイヤショベル</a></li> 39 </ul> 40 </li> 41 <li class="accordionlist"> 42 <div class="clearfix"> 43 <div class="accordionlist-title"> 44 <p>名前で探す(あいうえお)</p> 45 </div> 46 <p class="accordion_icon"><span></span><span></span><span></span></p> 47 </div> 48 <ul class="accordionlist-item" style="height: auto;"> 49 <li><a href="">ア行</a></li> 50 <li><a href="">カ行</a></li> 51 <li><a href="">サ行</a></li> 52 <li><a href="">タ行</a></li> 53 <li><a href="">ナ行</a></li> 54 <li><a href="">ハ行</a></li> 55 <li><a href="">マ行</a></li> 56 <li><a href="">ヤ行</a></li> 57 <li><a href="">ラ行</a></li> 58 </ul> 59 </li> 60 </ul> 61</div>
css
1.accordionlist { 2 padding: 15px 20px; 3 border-bottom: 1px solid #FFF; 4} 5 6li.accordionlist { 7 display: block; 8 font-size: 13px; 9 font-size: 0.8125rem; 10} 11 12.accordionlist-item li:first-child { 13 display: none !important; 14} 15 16.accordionlist div .accordionlist-title { 17 float: left; 18 margin-bottom: 0; 19} 20 21.accordionlist div .accordionlist-title p { 22 margin-bottom: 0; 23} 24 25.accordionlist ul { 26 display: none; 27} 28 29.accordionlist-item li { 30 display: inline-block; 31 background-color: #FFF; 32 padding: 6px; 33 border-radius: 2px; 34 margin: 10px 5px 5px 0; 35} 36 37.accordionlist-item a { 38 color: #3840C3; 39 font-size: 14px; 40 font-size: 0.875rem; 41 font-weight: 700; 42} 43 44.accordionlist-item { 45 display: -webkit-flex; 46 display: flex; 47 -webkit-flex-wrap: wrap; 48 flex-wrap: wrap; 49 -webkit-align-items: flex-start; 50 align-items: flex-start; 51 overflow-y: scroll; 52 margin-top: 10px; 53 height: 155px; 54} 55 56.accordion_icon, 57.accordion_icon span { 58 display: inline-block; 59 transition: all .4s; 60 box-sizing: border-box; 61} 62 63.accordion_icon { 64 position: relative; 65 width: 30px; 66 float: right; 67} 68 69.accordion_icon span { 70 position: absolute; 71 right: 0; 72 width: 35%; 73 height: 2px; 74 background-color: #FFF; 75 border-radius: 4px; 76} 77 78.accordion_icon span:nth-of-type(1) { 79 top: 1.5px; 80 right: -4.4px; 81 border: 2px solid #FFF; 82 background-color: unset; 83 height: 19px; 84 width: 19px; 85 border-radius: 100px; 86} 87 88.accordion_icon span:nth-of-type(2) { 89 top: 10px; 90 -webkit-transform: rotate(0deg); 91 transform: rotate(0deg); 92} 93 94.accordion_icon span:nth-of-type(3) { 95 top: 10px; 96 -webkit-transform: rotate(90deg); 97 transform: rotate(90deg); 98} 99 100.accordion_icon.active span:nth-of-type(2) { 101 display: none; 102} 103 104.accordion_icon.active span:nth-of-type(3) { 105 top: 10px; 106 -webkit-transform: rotate(180deg); 107 transform: rotate(180deg); 108}
jQuery
1$(function () { 2 $(".accordionbox div").on("click", function () { 3 $(this).next().slideToggle(); 4 if ($(this).children(".accordion_icon").hasClass('active')) { 5 $(this).children(".accordion_icon").removeClass('active'); 6 } else { 7 $(this).children(".accordion_icon").addClass('active'); 8 } 9 }); 10}); 11 12$(function () { 13 $('.accordion p.accordion_icon').click(function () { 14 $(this).next('.accordion .accordionlist-item').slideToggle(); 15 $('.accordion p.accordion_icon').not($(this)).next('.accordion .accordionlist-item').slideUp(); 16 }); 17});
試したこと
dt-ddからul-liul-liへ再構築しソースコードを見直しましたが、まだ何かが足らないようです。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。