Familienangebote im August
Aus Bündnis für Familie Tübingen.
<html lang="de"> <head> <meta charset="UTF-8"> <title>Familienangebote August 2026</title>
<style> body {
font-family: Arial, sans-serif; margin: 20px;
}
h2 {
text-align: center;
}
.calendar {
display: grid; grid-template-columns: repeat(7, 1fr); gap: 8px;
}
.weekday {
font-weight: bold; text-align: center; padding: 10px; background: #f0f0f0;
}
.day {
border: 1px solid #ccc; min-height: 120px; padding: 8px; cursor: pointer; background: #fff; transition: 0.2s;
}
.day:hover {
background: #f8f8f8;
}
.day-number {
font-weight: bold; margin-bottom: 5px;
}
.note {
font-size: 13px; white-space: pre-wrap;
} </style>
</head> <body>
Familienangebote – August 2026
<script> const calendar = document.getElementById("calendar");
const weekdays = [
"Mo","Di","Mi","Do","Fr","Sa","So"
];
weekdays.forEach(day => {
const el = document.createElement("div");
el.className = "weekday";
el.textContent = day;
calendar.appendChild(el);
});
// August 2026 beginnt an einem Samstag const firstDayOffset = 5;
// Leere Felder vor dem 1. August for(let i = 0; i < firstDayOffset; i++){
const empty = document.createElement("div");
calendar.appendChild(empty);
} ```javascript function renderDay(cell, day, data) {
cell.innerHTML = `
${day}
Was:
${data.was || "-"}
Wann:
${data.wann || "-"}
Zielgruppe:
${data.zielgruppe || "-"}
Wo:
${data.wo || "-"}
Anmeldung:
${data.anmeldung || "-"}
Link:
${ data.link ? `<a href="${data.link}" target="_blank">öffnen</a>` : "-" }
`;
}
// Tage erzeugen for (let day = 1; day <= 31; day++) {
const cell = document.createElement("div");
cell.className = "day";
const key = "august2026_" + day;
const savedData = JSON.parse(
localStorage.getItem(key) || "{}"
);
renderDay(cell, day, savedData);
cell.addEventListener("click", () => {
const data = JSON.parse(
localStorage.getItem(key) || "{}"
);
const was = prompt("Was:", data.was || "");
if (was === null) return;
const wann = prompt("Wann:", data.wann || "");
if (wann === null) return;
const zielgruppe = prompt(
"Zielgruppe:",
data.zielgruppe || ""
);
if (zielgruppe === null) return;
const wo = prompt(
"Wo:",
data.wo || ""
);
if (wo === null) return;
const anmeldung = prompt(
"Anmeldung:",
data.anmeldung || ""
);
if (anmeldung === null) return;
const link = prompt(
"Link:",
data.link || ""
);
if (link === null) return;
const newData = {
was,
wann,
zielgruppe,
wo,
anmeldung,
link
};
localStorage.setItem(
key,
JSON.stringify(newData)
);
renderDay(cell, day, newData); });
calendar.appendChild(cell);
}