カレンダーを作成する
重要性: 4
関数 createCalendar(elem, year, month)
を書いてください。
この呼び出しは、与えられた年/月でカレンダーを作成し、elem
の中に置きます。
カレンダーはテーブルである必要があり、その週は <tr>
で、日は <td>
です。テーブルのトップは曜日の <tr>
です: 最初の日は月曜で、日曜まで続きます。
例えば、createCalendar(cal, 2012, 9)
は要素 cal
に次のカレンダーを生成します:
P.S. このタスクでは、カレンダーの生成で十分です。まだクリック可能にする必要はありません。
私たちは文字列としてテーブルを作成します: "<table>...</table>"
、そしてそれを innerHTML
に代入します。
アルゴリズムは次の通りです:
<th>
と曜日名でテーブルヘッダを作成します。- 日付オブジェクト
d = new Date(year, month-1)
を生成します。これはmonth
の最初の日です(JavaScriptでの月は1
からではなく0
から開始することを考慮してください)。 - 月の最初の日
d.getDay()
までの最初の数個のセルは空であるかもしれません。 それらを<td></td>
で埋めましょう。 d
で日を増やしましょう:d.setDate(d.getDate()+1)
。もしd.getMonth()
がまだ次の月ではない場合、カレンダーに新しいセル<td>
を追加します。もしそれが日曜であれば、改行“</tr><tr>”
を追加します。- もし月は終わりだが、行はまだ埋まっていない場合は、空の
<td>
を追加し、四角形を作ります。