Создайте календарь в виде таблицы
важность: 4
Напишите функцию createCalendar(elem, year, month).
Вызов функции должен создать календарь для заданного месяца month в году year и вставить его в elem.
Календарь должен быть таблицей, где неделя – это <tr>, а день – это <td>. У таблицы должен быть заголовок с названиями дней недели, каждый день – <th>, первым днём недели должен быть понедельник.
Например, createCalendar(cal, 2012, 9) сгенерирует в cal следующий календарь:
P.S. В этой задаче достаточно сгенерировать календарь, кликабельным его делать не нужно.
Для решения задачи сгенерируем таблицу в виде строки: "<table>...</table>", а затем присвоим в innerHTML.
Алгоритм:
- Создать заголовок таблицы с
<th>и именами дней недели. - Создать объект даты
d = new Date(year, month-1). Это первый день месяцаmonth(с учётом того, что месяцы в JS начинаются от 0, а не от 1). - Ячейки первого ряда пустые от начала и до дня недели
d.getDay(), с которого начинается месяц. Заполним<td></td>. - Увеличить день в
d:d.setDate(d.getDate()+1). Еслиd.getMonth()ещё не в следующем месяце, то добавим новую ячейку<td>в календарь. Если это воскресенье, то добавим новую строку«</tr><tr>». - Если месяц закончился, но строка таблицы ещё не заполнена, добавим в неё пустые
<td>, чтобы сделать в календаре красивые пустые квадратики.