61 lines
1.9 KiB
JavaScript
61 lines
1.9 KiB
JavaScript
// Öffnungslogik für Einzeltüren
|
|
document.querySelectorAll(".door").forEach(door => {
|
|
door.addEventListener("click", () => {
|
|
const day = door.dataset.day;
|
|
const openfield = document.querySelector(`.openfield[data-day="${day}"]`);
|
|
|
|
if (door.classList.contains("double")) {
|
|
if (door.classList.contains("open")) {
|
|
console.log(`Doppeltür ${day} erneut geöffnet`);
|
|
return;
|
|
}
|
|
door.classList.add("open");
|
|
|
|
const leftFluegel = door.querySelector(".fluegel.left");
|
|
const rightFluegel = door.querySelector(".fluegel.right");
|
|
|
|
if (leftFluegel) leftFluegel.classList.add("open");
|
|
if (rightFluegel) rightFluegel.classList.add("open");
|
|
|
|
if (openfield) openfield.classList.add("open");
|
|
return;
|
|
}
|
|
|
|
if (door.classList.contains("open")) {
|
|
console.log(`Tür ${day} erneut geöffnet`);
|
|
return;
|
|
}
|
|
|
|
door.classList.add("open");
|
|
if (openfield) openfield.classList.add("open");
|
|
});
|
|
});
|
|
|
|
|
|
document.querySelectorAll(".fluegel").forEach(flügel => {
|
|
flügel.addEventListener("click", () => {
|
|
const day = flügel.dataset.day;
|
|
|
|
const fluegelLeft = document.querySelector(`.fluegel.left[data-day="${day}"]`);
|
|
const fluegelRight = document.querySelector(`.fluegel.right[data-day="${day}"]`);
|
|
const openfield = document.querySelector(`.openfield[data-day="${day}"]`);
|
|
|
|
// Abbruch wenn beide schon offen
|
|
if (fluegelLeft?.classList.contains("open") && fluegelRight?.classList.contains("open")) {
|
|
console.log(`Doppeltür ${day} bereits geöffnet`);
|
|
return;
|
|
}
|
|
|
|
// Öffne gezielt nur, wenn noch nicht offen
|
|
if (!fluegelLeft?.classList.contains("open")) {
|
|
fluegelLeft?.classList.add("open");
|
|
}
|
|
|
|
if (!fluegelRight?.classList.contains("open")) {
|
|
fluegelRight?.classList.add("open");
|
|
}
|
|
|
|
// Openfield aktivieren
|
|
openfield?.classList.add("open");
|
|
});
|
|
}); |