私は現在、このw3schoolsのlinkによく似たコードを使用していますが、他のタブを閉じるためにjavascriptに何を追加するのか分からないようですいずれかのタブをクリックすると他のアコーディオンをクリックして閉じる(クラスを切り替えることなく)
クリックで他のアコーディオンを閉じることに関するいくつかの回答がありました(hereなど) - しかし、主に兄弟からクラス(「アクティブ」)を削除することに取り組んでいますこの場合。
私はこのコードに慣れていませんが、CSSアニメーションではなく、パネルをスライドさせてアニメーション化するのはJSだという印象を受けています。
現在、私のコードは次のようになります、
JS
var acc = document.getElementsByClassName("accordion");
var i;
for (i = 0; i < acc.length; i++) {
acc[i].onclick = function() {
this.classList.toggle("active");
var panel = this.nextElementSibling;
if (panel.style.maxHeight){
panel.style.maxHeight = null;
} else {
panel.style.maxHeight = panel.scrollHeight + "px";
}
}
}
上記のコードのスタイルを使用して他のタブを閉じるにはどのような方法があります:そのような問題の とJSまたはこれを行うための他の良い方法がありますか?