表題の通りで、現在クリックすると開いたままのアコーディオンをクリックすると再度閉じたい
ここに実現したいことを箇条書きで書いてください。
-クリックすると開いたままのアコーディオンをクリックすると再度閉じたい
アコーディオンは開く状態である
ここに質問の内容を詳しく書いてください。
Q&Aの質問と回答のページを作っています。
どうぞよろしくお願いします。
発生している問題・エラーメッセージ
再度クリックすると閉じるべきアコーディオンが閉じない
該当のソースコード
html
1<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> 2 3 4<button class="accordion"><p> 5質問文 6</p></button> 7<div class="panel"><p> 8回答分<br> 9回答分<br> 10回答分<br> 11回答分<br> 12回答分 13</p></div>
css
1.accordion { 2 background-color: #FBF9F7; 3 cursor: pointer; 4 padding: 10px 20px; 5 width: 100%; 6 border: none; 7 text-align: left; 8 outline: none; 9 transition: 0.4s; 10 display: flex; 11 flex-wrap: wrap; 12 align-items: center; 13 gap: 10px 14} 15 16.accordion p { 17 flex: 1; 18 font-weight: 700 19} 20 21.accordion:before { 22 content: "Q."; 23 display: block; 24 font-size: 28px; 25 color: #00125E; 26 font-family: "Oswald", sans-serif 27} 28 29.accordion:after { 30 content: "筐�"; 31 display: block; 32 margin-left: auto; 33 transition: 0.2s 34} 35 36.accordion.active:after { 37 content: "筐�"; 38 transform: rotate(-180deg); 39 top: 25% 40} 41 42.accordion:hover { 43 background-color: #ccc 44} 45 46.accordion+.panel { 47 padding: 0 20px; 48 background-color: #FBF9F7; 49 max-height: 0; 50 overflow: hidden; 51 transition: max-height 0.2s ease-out; 52 display: flex; 53 flex-wrap: wrap; 54 align-items: start; 55 gap: 10px 56} 57 58.accordion+.panel:before { 59 content: "A."; 60 display: block; 61 font-size: 28px; 62 color: #DF0515; 63 padding-top: 15px; 64 font-family: "Oswald", sans-serif 65} 66 67.accordion+.panel p { 68 flex: 1; 69 padding: 20px 0 70}
js
1$('.accordion').on('click', function () { 2 var findElm = $(this).next(".panel"); 3 $(findElm).slideToggle(function () { 4 5 6 7 $(findElm).slideDown(500); 8 $(findElm)[0].style.maxHeight ="500px"; 9 $(findElm)[0].style.display = "block"; 10 }); 11});
試したこと
$(findElm).slideToggle(function () {
の次の行.close を付与するjsをいろいろ記載してみたのですが
うまくいきません。
cssは
.panel.close{
display:none;
height:0;
}
としました。
補足情報(FW/ツールのバージョンなど)
html css javascript

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2023/03/07 05:24 編集
2023/03/07 06:30
2023/03/07 08:10 編集