Crea un calendario
Scrivi una funzione createCalendar(elem, year, month).
La sua chiamata dovrebbe creare un calendario con il dato anno/mese e metterlo dentro a elem.
Il calendario dovrebbe essere una tabella dove una settimana è <tr> e un giorno è <td>. La cima della tabella dovrebbe essere un <th> con i nomi dei giorni: il primo giorno dovrebbe essere lunedì e così via fino a domenica.
Ad esempio, createCalendar(cal, 2012, 9) dovrebbe generare un elemento cal con il seguente calendario:
P.S. Per questa task è sufficiente creare il calendario, non è necessario che sia cliccabile.
Creeremo una tabella come stringa, "<table>...</table>", e poi la assegneremo a innerHTML.
L’algoritmo:
- Crea il header della tabella con
<th>e i nomi dei giorni. - Crea l’oggetto data
d = new Date(year, month-1). Questo è il primo giorno dimonth(prendendo in considerazione che in Javascript i mesi partono da0, non da1). - Le prime celle fino al primo del mese
d.getDay()sono vuote. Riempiamole con<td></td>. - Aumentiamo il giorno in
d:d.setDate(d.getDate()+1). Sed.getMonth()non è ancora il mese successivo, aggiungi la nuova cella<td>al calendario. Se questo è una domenica, aggiungi una nuova linea“</tr><tr>”. - Se il mese è finito ma la fila della tabella non è ancora piena, aggiungi un
<td>vuoto in modo da renderla rettangolare.