COUNTDOWN CALENDAR
クリスマスまで、毎日ひとつ。
// ============================
// カウントダウン
// ============================
function updateCountdown() {
const now = new Date();
const diff =
targetDate.getTime() -
now.getTime();
const days =
Math.max(
0,
Math.ceil(
diff / (1000 * 60 * 60 * 24)
)
);
document.getElementById(
"remaining"
).textContent = days;
}
// ============================
// カレンダー生成
// ============================
function createCalendar() {
const calendar =
document.getElementById("calendar");
calendar.innerHTML = "";
//const today = new Date();
const today = new Date("2026-12-12T12:00:00");
for (let day = 1; day <= 25; day++) {
const button =
document.createElement("button");
button.className = "day";
button.textContent = day;
const date =
new Date(
2026,
11,
day
);
// まだ開けない
if (date > today) {
button.classList.add("locked");
button.disabled = true;
} else {
button.addEventListener(
"click",
() => openDay(day)
);
}
// 今日
if (
date.getFullYear() === today.getFullYear() &&
date.getMonth() === today.getMonth() &&
date.getDate() === today.getDate()
) {
button.classList.add("today");
}
calendar.appendChild(button);
}
}
// ============================
// 扉を開く
// ============================
function openDay(day) {
const content =
contents[day];
if (!content) return;
document.getElementById(
"messageDay"
).textContent =
`DAY ${day}`;
document.getElementById(
"messageTitle"
).textContent =
content.title;
document.getElementById(
"messageText"
).textContent =
content.text;
document.getElementById(
"message"
).classList.add("show");
}
updateCountdown();
createCalendar();