⊗jsPrCndMChA 62 of 62 menu

Šípky na prepínanie mesiaca v kalendári na JavaScript

Pridajme teraz pod kalendár šípky na prepínanie mesiaca. Vykonajme zmeny v HTML kóde:

<div id="parent"> <div id="calendar"> <div class="info">Jan 2020</div> <table> <thead> <tr> <th>po</th> <th>ut</th> <th>st</th> <th>št</th> <th>pi</th> <th>so</th> <th>ne</th> </tr> </thead> <tbody class="body"></tbody> </table> <div class="nav"> <a href="#" class="prev">←</a> <a href="#" class="next">→</a> </div> </div> </div>

Vykonajme zmeny v CSS kóde:

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

Získajme odkazy na šípky do premenných:

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

Diskusia

Poďme teraz diskutovať o tom, ako úlohu vyriešiť. Kód nášho kalendára je napísaný s dobrým dôrazom na rozšíriteľnosť: máme funkciu draw, ktorá vykreslí kalendár pre zadaný mesiac. To znamená, že pri kliknutí na šípku môžeme prekresliť kalendár s iným číslom mesiaca (a prípadne roku).

Tu je príklad toho, čo môžeme urobiť pri kliknutí na šípku nasledujúceho mesiaca:

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

Ako vidíte, tu sa používajú funkcie getNextYear a getNextMonth. Poďme sa rozprávať o tom, čo by mali robiť.

Ako názov napovedá, funkcia getNextYear získa nasledujúci rok. Tu sa myslí to, že ak je teraz december, tak pri prepnutí na nasledujúci mesiac by sa mal rok zvýšiť o 1. Ak teraz nie je december, tak funkcia by mala jednoducho vrátiť aktuálny rok.

Funkcia getNextMonth by mala získať nasledujúci mesiac. Pre všetky mesiace okrem decembra bude k číslu mesiaca pridávať jeden. No a pre december bude nasledujúcim mesiacom január s číslom 0.

Podobné operácie by sme mali vykonať pri kliknutí na tlačidlo predchádzajúceho mesiaca:

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

Implementujte funkčnosť tlačidiel na prepínanie mesiaca.

Zaistite, aby informácia nad kalendárom zodpovedala zobrazenému mesiacu a roku.

Slovenčina
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Používame cookies na fungovanie stránky, analýzu a personalizáciu. Spracúvanie údajov prebieha v súlade s Politikou ochrany osobných údajov.
prijať všetky nastaviť odmietnuť