назад до уроку

Створіть календар

важливість: 4

Напишіть функцію createCalendar(elem, year, month).

Виклик повинен створити календар на даний рік/місяць і помістити його в elem.

Календар має бути таблицею, де тиждень це <tr>, а день це <td>. Перший рядок таблиці має бути оформлений як <th> з назвами днів тижня: першим днем має бути понеділок і так до неділі.

Наприклад, createCalendar(cal, 2012, 9) має створити в елементі cal такий календар:

P.S. Для цього завдання достатньо створити календар, який поки що не має бути клікабельним.

Відкрити пісочницю для завдання.

Ми створимо таблицю як рядок "<table>...</table>", а потім присвоїмо її в innerHTML.

Алгоритм:

  1. Створіть заголовок таблиці з <th> та днями тижня.
  2. Створіть об’єкт дати d = new Date(year, month-1). Це перший день місяця month (беручи до уваги, що місяці в JavaScript починаються з 0, а не з 1).
  3. Декілька перших клітинок до d.getDay() можуть бути пустими. Заповнимо їх <td></td>.
  4. Збільшуйте день d: d.setDate(d.getDate()+1). Якщо d.getMonth() ще не досяг наступного місяця, тоді додайте нову клітинку <td> в календар. Якщо це НД, тоді додайте новий рядок “</tr><tr>”.
  5. Якщо міcяць завершився, але рядок таблиці ще не заповнений, додайте пусті <td>, щоб надати таблиці правильної форми.

Відкрити рішення в пісочниці.