⊗jsPrCndMChA 62 of 62 menu

Kuu vahetamise nooled JavaScripti kalendris

Teeme nüüd kalendri alla nooled kuu vahetamiseks. Teeme muutused HTML koodis:

<div id="parent"> <div id="calendar"> <div class="info">Jaan 2020</div> <table> <thead> <tr> <th>E</th> <th>T</th> <th>K</th> <th>N</th> <th>R</th> <th>L</th> <th>P</th> </tr> </thead> <tbody class="body"></tbody> </table> <div class="nav"> <a href="#" class="prev">←</a> <a href="#" class="next">→</a> </div> </div> </div>

Teeme muutused CSS koodis:

#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; }

Võtame noolte lingid muutujatesse:

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

Arutelu

Arutleme nüüd, kuidas ülesannet lahendada. Tegelikult on meie kalendri kood kirjutatud hea laiendatavusega: meil on funktsioon draw, mis joonistab kalendri etteantud kuu kohta. Seega võime nooleklõpsul ümber joonistada kalendri teise kuu numbri (ja võimalik, et aasta) jaoks.

Siin on näide sellest, mida võime teha järgmise kuu nooleklõpsul:

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

Nagu näete, siin kasutatakse funktsioone getNextYear ja getNextMonth. Arutleme, mida nad peaksid tegema.

Nagu nimest selgub, funktsioon getNextYear saab järgmise aasta. Siin mõeldakse seda, et kui praegu on detsember, siis kuu vahetamisel peaks aasta suurenema 1 võrra. Kui praegu ei ole detsember, siis funktsioon peaks lihtsalt tagastama praeguse aasta.

Funktsioon getNextMonth peaks saama järgmise kuu. See kõigile kuudele, välja arvatud detsember, lisab kuu numbrile ühe. Detsembri puhul on järgmine kuu jaanuar numbriga 0.

Sarnased toimingud tuleks teha eelmise kuu nupu vajutamisel:

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

Rakendage kuu vahetamise nuppude töö.

Tehke nii, et kalendri kohal olev info vastaks kuvatavat kuud ja aastat.

Eesti
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Me kasutame saidi toimimiseks, analüüsi ja personaliseerimiseks küpsiseid. Andmete töötlemine toimub vastavalt Privaatsuspoliitikale.
nõustu kõigega häälesta keeldu