⊗jsPrCndMChA 62 of 62 menu

JavaScript да календарда ойни алмаштириш учун ўқлар

Энди календар ostida ойни алмаштириш учун ўқлар ясаймиз. HTML кодга ўзгартиришлар киритамиз:

<div id="parent"> <div id="calendar"> <div class="info">Yan 2020</div> <table> <thead> <tr> <th>дш</th> <th>сш</th> <th>чш</th> <th>пш</th> <th>жм</th> <th>шн</th> <th>як</th> </tr> </thead> <tbody class="body"></tbody> </table> <div class="nav"> <a href="#" class="prev">←</a> <a href="#" class="next">→</a> </div> </div> </div>

CSS кодга ўзгартиришлар киритамиз:

#parent { text-align: center; } #calendar { display: inline-block; } #calendar td, #calendar th { padding: 10px; border: 1px solid black; text-align: center; } #calendar .nav, #calendar .info { text-align: center; } #calendar a { color: blue; font-size: 25px; text-decoration: none; } #calendar a:hover { color: red; } #calendar .active { color: red; }

Ўқлар ҳаволаларини ўзгаргувчиларга оламиз:

let prev = calendar.querySelector('.prev'); let next = calendar.querySelector('.next');

Муҳокама

Энди масалани қандай ҳал қилишни муҳокама қилаймиз. Аслида бизнинг календар кодимиз яхши кенгайтирувчан билан ёзилган: бизда draw функцисяси мавжуд, бу белгиланган ой учун календарни чизади. Шунинг учун ўқни босганда биз календарни бошқа ой рақами билан қайта чиза оламиз (ва эҳтимол йил).

Кейинги ой ўқини босганда биз қила оладиган нарсанинг мисоли:

next.addEventListener('click', function() { draw(body, getNextYear(year, month), getNextMonth(month)); });

Кўриб turganingizdek, бу ерда getNextYear ва getNextMonth функсиялари ишлатилган. Улар нима қилиши кераклигини муҳокама қилаймиз.

Номидан кўриниб turganidek, getNextYear функсияси кейинги йилни олади. Бу ерда назарда тутилган шундаки, агар ҳозир декабрь бўлса, кейинги ойга ўтганда йил 1 га orthi kerak. Агар ҳозир декабрь бўлмаса, функсия жуда оддий ҳозирги йилни qaytarishi керак.

getNextMonth функсияси кейинги ойни олиши керак. У декабрьдан бошқа барча ойлар учун ой рақамига битта qo'shadi. Ва декабрь учун кейинги ой 0 рақамли январ бўлади.

Охирги ой тугмаси босилганда ҳам xuddi шунга ўхшаш амаллар бажарилиши керак:

prev.addEventListener('click', function() { draw(body, getPrevYear(year, month), getPrevMonth(month)); });

Ойни алмаштириш тугмаларининг ишини амалга оширинг.

Календар ustidagi маълумот кўрсатилаётган ой ва йилга мос келиши учун тартибга солинг.

Ўзбек
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeOʻzbekTiếng Việt
Биз веб-сайт ишлаши, таҳлил қилиш ва персоналлаштириш учун кукидан фойдаланамиз. Маълумотларни қайта ишлаш Махфийлик сиёсатига мувофиқ амалга оширилади.
ҳаммасини қабул қилиш мослаштириш рад этиш