Opret en kalender
Skriv funktionen createCalendar(elem, year, month).
Kaldet skal oprette en kalender for det givne år/måned og putte den indeni elem.
Kalenderen skal være en tabel, hvor en uge er <tr>, og en dag er <td>. Den øverste del af tabellen skal være <th> med navne på ugedage: den første dag skal være mandag, og så videre til søndag.
For eksempel, createCalendar(cal, 2012, 9) skal generere følgende kalender i element cal:
P.S. Det er nok at generere kalenderen, den skal ikke være klikbar endnu.
Vi opretter tabellen som en streng: "<table>...</table>", og tilknytter den til innerHTML.
Algoritmen er som følger:
- Opret en tabelhoved med
<th>og navne på ugedage. - Opret datoobjektet
d = new Date(year, month-1). Det er den første dag imonth(med hensyn til at måneder i JavaScript starter fra0, ikke1). - De første få celler indtil den første dag i måneden
d.getDay()kan være tomme. Lad os fylde dem med<td></td>. - Øg dagen i
d:d.setDate(d.getDate()+1). Hvisd.getMonth()ikke er den næste måned, så tilføj den nye celle<td>til kalenderen. Hvis det er en søndag, så tilføj en ny linje“</tr><tr>”. - Hvis måneden er slut, men tabelrækken ikke er fuld, tilføj tomme
<td>til den, for at gøre den kvadratisk.