25 lines
986 B
JavaScript
25 lines
986 B
JavaScript
document.addEventListener("DOMContentLoaded", () => {
|
|
const akordeony = document.getElementsByClassName("akordeon");
|
|
for (const akordeon of akordeony) {
|
|
if (akordeon.children.length < 2) {
|
|
console.warn("Na stronie jest niepoprawnie skonfigurowany akordeon!")
|
|
continue;
|
|
}
|
|
const pierworodny = akordeon.children[0];
|
|
const nowy = document.createElement("div")
|
|
nowy.className = "akordeon-header";
|
|
|
|
nowy.onclick = () => {
|
|
const otwarte = akordeon.classList.contains("open");
|
|
akordeon.classList.remove(otwarte ? "open": "closed");
|
|
akordeon.classList.add(otwarte ? "closed" : "open");
|
|
for (const dziecko of akordeon.children) {
|
|
if (dziecko != nowy) {
|
|
dziecko.style.display = otwarte ? "" : "none";
|
|
}
|
|
}
|
|
}
|
|
akordeon.replaceChild(nowy, pierworodny)
|
|
nowy.append(pierworodny)
|
|
}
|
|
}) |