Ich verwende derzeit einen Code, der dem Beispiel dieser w3schools link sehr ähnlich ist, aber ich kann nicht herausfinden, was ich dem Javascript hinzufügen muss, um andere Tabs zu schließen wenn Sie auf eine der Registerkarten klicken.Schließen Sie andere Akkordeons beim Klicken (ohne Umschalten der Klasse)
Ich habe ein paar SO Antworten in Bezug auf andere Akkordeons auf Klick (wie here) gegangen - aber sie beschäftigen sich hauptsächlich mit dem Entfernen von Klassen (".active") von Geschwistern, die (möglicherweise?) Oder möglicherweise nicht funktionieren dieser Fall.
Ich bin nicht sehr vertraut mit dem Code, aber ich habe den Eindruck, dass es die JS ist, die animiert das Panel nach unten rutschen, und keine CSS-Animation.
Derzeit sieht mein Code wie folgt aus: https://jsfiddle.net/joshuacsk/yw7eygxk/ und die in Frage JS wie so:
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";
}
}
}
Gibt es eine Möglichkeit andere Tabs zu schließen über den Stil der Code, oder gibt es einen anderen besseren Weg, dies zu tun?