Сегодня 400-й день агрессивной войны РФ против украинского народа. Армия РФ убивает мирных жителей Украины, разрушает гражданские объекты.

Календарь месяца

Простой календарик полностью генерируется яваскриптом. Кнопки позволяют перелистывать по месяцам.

С помощью кнопки «+ Calendar» можно добавить на страницу ещё кучу календариков. Каждый является независимым объектом с одинаковыми методами.

Описание

Объект класса Calendar создается с помощью конструктора Calendar, при запуске которого возвращается HTML код календаря, который можно вставить на страницу.

Каждый объект обладает собственными свойствами: год, месяц, сегодняшняя дата, список дней. Свойства год, месяц и список дней создаются из текущей даты.

Список дней состоит из 42 дат. Шесть недель по семь дней. Показываются дни предыдущего месяца, начиная с понедельника, и следующего месяца до конца таблицы.

Методы календаря, благодаря прототипному методу наследования, хранятся в свойстве prototype конструктора Calendar.

При создании нового календаря последовательно запускаются методы create и showMonth.

Метод create создает тело календаря, пустую таблицу с днями, строку заголовка без текста и кнопки «вперед»-«назад». Назначает стили создаваемым объектам и устанавливает обработчики событий.

Метод showMonth заполняет заголовок и ячейки таблицы календаря, добавляя форматирование к дням предыдущего и следующего месяца с помощью атрибутов.

При нажатии кнопок назад или вперед запускаются соответственно методы setPrevMonth и setNextMonth, которые изменяют свойства объекта «текущий год» и «текущий месяц» . После чего заново запускается метод showMonth, заполняющий тело и заголовок календаря данными выбранного месяца.