adventskalender/shared/js/door-open.js aktualisiert
This commit is contained in:
@@ -1,17 +1,14 @@
|
|||||||
|
// Öffnungslogik für Einzeltüren
|
||||||
document.querySelectorAll(".door").forEach(door => {
|
document.querySelectorAll(".door").forEach(door => {
|
||||||
door.addEventListener("click", () => {
|
door.addEventListener("click", () => {
|
||||||
const day = door.dataset.day;
|
const day = door.dataset.day;
|
||||||
|
|
||||||
// openfield immer unabhängig vom Türtyp selektieren (für Eintrag oder Doppeltür)
|
|
||||||
const openfield = document.querySelector(`.openfield[data-day="${day}"]`);
|
const openfield = document.querySelector(`.openfield[data-day="${day}"]`);
|
||||||
|
|
||||||
// === Doppeltür-Logik ===
|
|
||||||
if (door.classList.contains("double")) {
|
if (door.classList.contains("double")) {
|
||||||
if (door.classList.contains("open")) {
|
if (door.classList.contains("open")) {
|
||||||
console.log(`Doppeltür ${day} erneut geöffnet`);
|
console.log(`Doppeltür ${day} erneut geöffnet`);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
door.classList.add("open");
|
door.classList.add("open");
|
||||||
|
|
||||||
const leftFluegel = door.querySelector(".fluegel.left");
|
const leftFluegel = door.querySelector(".fluegel.left");
|
||||||
@@ -24,7 +21,6 @@ document.querySelectorAll(".door").forEach(door => {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// === Einzeltür-Logik ===
|
|
||||||
if (door.classList.contains("open")) {
|
if (door.classList.contains("open")) {
|
||||||
console.log(`Tür ${day} erneut geöffnet`);
|
console.log(`Tür ${day} erneut geöffnet`);
|
||||||
return;
|
return;
|
||||||
@@ -33,4 +29,28 @@ document.querySelectorAll(".door").forEach(door => {
|
|||||||
door.classList.add("open");
|
door.classList.add("open");
|
||||||
if (openfield) openfield.classList.add("open");
|
if (openfield) openfield.classList.add("open");
|
||||||
});
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
// Öffnungslogik für Flügeltüren (Doppeltür-Variante ohne Container-Wrapper)
|
||||||
|
const fluegelPaare = new Set();
|
||||||
|
document.querySelectorAll(".fluegel").forEach(fluegel => {
|
||||||
|
fluegel.addEventListener("click", () => {
|
||||||
|
const day = fluegel.dataset.day;
|
||||||
|
const pairId = `day-${day}`;
|
||||||
|
if (fluegelPaare.has(pairId)) {
|
||||||
|
console.log(`Flügelpaar ${day} erneut geöffnet`);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
const left = document.querySelector(`.fluegel.left[data-day="${day}"]`);
|
||||||
|
const right = document.querySelector(`.fluegel.right[data-day="${day}"]`);
|
||||||
|
const openfield = document.querySelector(`.openfield[data-day="${day}"]`);
|
||||||
|
|
||||||
|
if (left) left.classList.add("open");
|
||||||
|
if (right) right.classList.add("open");
|
||||||
|
if (openfield) openfield.classList.add("open");
|
||||||
|
|
||||||
|
fluegelPaare.add(pairId);
|
||||||
|
});
|
||||||
});
|
});
|
||||||
Reference in New Issue
Block a user