Vytvořte kalendář
důležitost: 4
Napište funkci vytvořKalendář(elem, rok, měsíc).
Její volání by mělo vytvořit kalendář pro zadaný rok a měsíc a vložit jej do elementu elem.
Kalendářem by měla být tabulka, v níž bude týden představovat značka <tr> a den značka <td>. V záhlaví tabulky by měla být značka <th> s názvy dnů v týdnu: prvním dnem by mělo být pondělí a tak dále, až do neděle.
Například vytvořKalendář(kal, 2012, 9) by v elementu kal mělo vytvořit následující kalendář:
P.S. V této úloze postačí vytvořit kalendář, nemusí reagovat na klikání.
Vytvoříme tabulku jako řetězec: "<table>...</table>" a pak ji přiřadíme do innerHTML.
Algoritmus:
- Vytvoříme záhlaví tabulky se značkou
<th>a názvy dnů v týdnu. - Vytvoříme objekt s datem
d = new Date(rok, měsíc-1). To je první den v měsíciměsíc(bereme v úvahu, že měsíce v JavaScriptu začínají od0, ne od1). - Několik prvních buněk před prvním dnem v měsíci
d.getDay()může být prázdných. Vyplníme je značkami<td></td>. - Zvýšíme den v
d:d.setDate(d.getDate()+1). Pokudd.getMonth()ještě není další měsíc, přidáme do kalendáře další buňku<td>. Pokud je to neděle, přidáme nový řádek“</tr><tr>”. - Pokud měsíc skončil, ale řádek tabulky ještě není zcela zaplněný, přidáme do něj prázdné
<td>, abychom dokončili čtverec.