Taqvim yarating
createCalendar(elem, year, month)
nomli funksiya yarating.
Funksiya chaqirilganda ma’lum yil/oy uchun kalendar yaratishi va uni elem
ichiga qo’yishi kerak.
Taqvim jadval bo’lishi kerak, bu erda hafta <tr>
, kun esa <td>
. Stol usti ish kunlari nomlari bilan <th>
bo’lishi kerak: birinchi kun dushanba bo’lishi kerak va shunga o’xshash yakshanbagacha.
Masalan, createCalendar(cal, 2012, 9)
cal
elementida quyidagi kalendarni yaratishi kerak:
P.S. Bu vazifani bajarish uchun taqvim yaratish kifoya, uni hali bosish mumkin emas.
Jadvalni qator sifatida yaratamiz: "<table>...</table>"
va keyin uni innerHTML
ga tayinlaymiz.
Algoritm:
<th>
va hafta kunlari nomlari bilan jadval sarlavhasini yarating.d = new Date(yil, oy-1)
sana obyektini yarating. Buoy
ning birinchi kuni (JavaScript-da oylar1
emas,0
dan boshlanishini hisobga olgan holda).d.getDay()
oyning birinchi kunigacha bo’lgan dastlabki bir nechta katakchalar bo’sh bo’lishi mumkin. Keling, ularni<td></td>
bilan to`ldiramiz.d
da kunni oshiring:d.setDate(d.getDate()+1)
. Agard.getMonth()
hali keyingi oy bo’lmasa, taqvimga yangi katakchani<td>
qo’shing. Agar bu yakshanba bo’lsa, yangi qatorni“</tr><tr>”
qo’shing.- Agar oy tugagan bo’lsa, lekin jadval qatori hali to’liq bo’lmasa, unga bo’sh
<td>
qo’shing, uni kvadratga aylantiring.