COUNTDOWN CALENDAR

クリスマスまで、毎日ひとつ。
--
DAYS TO GO

// ============================ // カウントダウン // ============================ 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();