Zero Block
Click "Block Editor" to enter the edit mode. Use layers, shapes and customize adaptability. Everything is in your hands.
Tilda Publishing
create your own block from scratch
Расписание

Расписание занятий

День Время Предмет Преподаватель
Пн Вт Ср Чт Пт Сб Вс
const schedule = { "2025-04-20": { mon: "Математика", tue: "Физика", wed: "Химия", thu: "Биология", fri: "География", sat: "История", sun: "" }, "2025-04-27": { mon: "Русский язык", tue: "Литература", wed: "Английский", thu: "Физкультура", fri: "Музыка", sat: "", sun: "" }, // Добавьте другие недели по мере необходимости }; let currentDate = new Date("2025-04-20"); function updateSchedule() { const startOfWeek = getStartOfWeek(currentDate); const weekKey = formatDate(startOfWeek); const weekSchedule = schedule[weekKey] || {}; document.getElementById("date-mon").textContent = formatDate(startOfWeek); document.getElementById("date-tue").textContent = formatDate(addDays(startOfWeek, 1)); document.getElementById("date-wed").textContent = formatDate(addDays(startOfWeek, 2)); document.getElementById("date-thu").textContent = formatDate(addDays(startOfWeek, 3)); document.getElementById("date-fri").textContent = formatDate(addDays(startOfWeek, 4)); document.getElementById("date-sat").textContent = formatDate(addDays(startOfWeek, 5)); document.getElementById("date-sun").textContent = formatDate(addDays(startOfWeek, 6)); document.getElementById("mon").textContent = weekSchedule.mon || ""; document.getElementById("tue").textContent = weekSchedule.tue || ""; document.getElementById("wed").textContent = weekSchedule.wed || ""; document.getElementById("thu").textContent = weekSchedule.thu || ""; document.getElementById("fri").textContent = weekSchedule.fri || ""; document.getElementById("sat").textContent = weekSchedule.sat || ""; document.getElementById("sun").textContent = weekSchedule.sun || ""; } function getStartOfWeek(date) { const day = date.getDay(), diff = date.getDate() - day + (day == 0 ? -6 : 1); // adjust when day is sunday return new Date(date.setDate(diff)); } function addDays(date, days) { const result = new Date(date); result.setDate(result.getDate() + days); return result; } function formatDate(date) { const day = date.getDate().toString().padStart(2, '0'); const month = (date.getMonth() + 1).toString().padStart(2, '0'); const year = date.getFullYear(); return ${day}.${month}.${year}; } function prevWeek() { currentDate.setDate(currentDate.getDate() - 7); updateSchedule(); } function nextWeek() { currentDate.setDate(currentDate.getDate() + 7); updateSchedule(); } updateSchedule();
function loadCalendarApi() { gapi.client.load('calendar', 'v3', listUpcomingEvents); } function listUpcomingEvents() { const request = gapi.client.calendar.events.list({ calendarId: 'primary', timeMin: (new Date()).toISOString(), showDeleted: false, singleEvents: true, orderBy: 'startTime' }); request.execute(function(response) { const events = response.items; if (events.length > 0) { console.log('Upcoming events:'); events.forEach(function(event) { console.log(event.summary); }); } else { console.log('No upcoming events found.'); } }); }
#schedule { width: 100%; border-collapse: collapse; } #schedule th, #schedule td { padding: 10px; text-align: center; border: 1px solid #ddd; } #schedule th { background-color: #f4f4f4; } @media (max-width: 600px) { #schedule th, #schedule td { font-size: 12px; padding: 8px; } }