⊗jsPrCndMChA 62 of 62 menu

Mishale ya Kubadilisha Mwezi kwenye Kalenda kwa kutumia JavaScript

Hebu sasa tuweke mishale chini ya kalenda ya kubadilisha mwezi. Wacha tubadilishe msimbo wa HTML:

<div id="parent"> <div id="calendar"> <div class="info">Jan 2020</div> <table> <thead> <tr> <th>Jumatatu</th> <th>Jumanne</th> <th>Jumatano</th> <th>Alhamisi</th> <th>Ijumaa</th> <th>Jumamosi</th> <th>Jumapili</th> </tr> </thead> <tbody class="body"></tbody> </table> <div class="nav"> <a href="#" class="prev">←</a> <a href="#" class="next">→</a> </div> </div> </div>

Wacha tubadilishe msimbo wa 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; }

Wacha tupate viungo vya mishale kwenye anuwai:

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

Majadiliano

Hebu sasa tujadilije jinsi ya kutatua tatizo. Kwa kweli msimbo wa kalenda yetu umeandikwa kwa njia inayoweza kupanuliwa kwa urahisi: tuna kitendakazi draw, kinachochora kalenda kwa mwezi uliopeanwa. Kwa hivyo wakati kubonyeza kishale tunaweza kuchora upya kalenda na namba tofauti ya mwezi (na huenda pia mwaka).

Huu ni mfano wa kile tunaweza kufanya kwa kubonyeza kishale cha mwezi unaofuata:

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

Kama unavyoona, hapa zinatumiwa vitendakazi getNextYear na getNextMonth. Wacha tujadili kile wanapaswa kufanya.

Kama inavyotokana na jina kitendakazi getNextYear kinapata mwaka unaofuata. Hapa inamaanisha kuwa, ikiwa kwa sasa ni Desemba, basi wakati wa kubadilisha mwezi unaofuata mwaka unapaswa kuongezeka kwa 1. Ikiwa kwa sasa sio Desemba, basi kitendakazi kinapaswa kurudisha mwaka wa sasa.

Kitendakazi getNextMonth kinapaswa kupata mwezi unaofuata. Kwa miezi yote, isipokuwa Desemba, itaongeza namba ya mwezi kwa moja. Na kwa Desemba mwezi unaofuata utakuwa Januari na namba 0.

Shughuli sawa inapaswa kufanywa wakati kubonyeza kitufe cha mwezi uliopita:

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

Tekeleza kazi ya vitufe vya kubadilisha mwezi.

Fanya habari juu ya kalenda ifanane na mwezi na mwaka unaoonyeshwa.

Kiswahili
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Tunatumia kuki kwa ajili ya uendeshaji wa tovuti, uchambuzi na ubinafsishaji. Usindikaji wa data unafanyika kulingana na Sera ya Faragha.
kubali yote sanidi kataa