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 cal
da 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ın1
den değil,0
dan 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.