Create a calendar
önem: 4
Bir fonksiyon yazın: createCalendar(elem, year, month).
Çağrı, belirtilen yıl/ay için bir takvim oluşturmalıdır ve onu elem içine koymalıdır.
Takvim, bir haftanın <tr> ve bir günün <td> olduğu bir tablo olmalıdır. Üst tablo hafta içi isimleriyle <th> olmalıdır: ilk gün Pazartesi olmalı, ve Pazar gününe kadar böyle devam etmeli.
Örneğin, createCalendar(cal, 2012, 9), element calda aşağidaki takvimi oluşturmalıdır.
Not(P.S.-PostScript) Bu görev için takvimi oluşturmak yeterlidir, henüz tıklanabilir olmamalıdır.
Tabloyu bir string olarak oluşturacağız: "<table>...</table>" ve ardından innerHTML’ye atayacağız.
Algoritma:
- Tablo başlığını ve hafta içi gün isimlerini
<th>ile oluşturun. - Tarih nesnesini ile
d = new Date(year, month-1)oluşturun. Bu, ayın ilk günüdür. (JavaScript’te ayların1den değil,0dan başladığını hesaba katarak) - Ayın ilk gününe kadar ilk birkaç hücre
d.getDay()boş olabilir. Onları<td></td>ile dolduralım. d:d.setDate(d.getDate()+1)içindeki günü artırın. Eğerd.getMonth()henüz gelecek ay değilse, ondan sonra takvime yeni hücre ekle. Eğer bu bir Pazar günüyse, yeni bir satır“</tr><tr>”'i ekleyin.- Eğer ay bitmişse, ama tablo satırı henüz dolu değilse, onu kare yapmak için içine boş
<td>ekleyin.