⊗jsPrCndMChA 62 of 62 menu

Mėnesių keitimo rodyklės kalendoriuje su JavaScript

Dabar po kalendoriumi padarykime rodykles mėnesiams keisti. Atlikime pakeitimus HTML kode:

<div id="parent"> <div id="calendar"> <div class="info">Sau 2020</div> <table> <thead> <tr> <th>pr</th> <th>an</th> <th>tr</th> <th>kt</th> <th>pn</th> <th>št</th> <th>sk</th> </tr> </thead> <tbody class="body"></tbody> </table> <div class="nav"> <a href="#" class="prev">←</a> <a href="#" class="next">→</a> </div> </div> </div>

Atlikime pakeitimus CSS kode:

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

Gaukime nuorodas į rodykles į kintamuosius:

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

Aptarimas

Dabar aptarkime, kaip išspręsti užduotį. Tiesą sakant, mūsų kalendoriaus kodas parašytas gerai plečiamu būdu: mes turime funkciją draw, kuri piešia kalendorių už nurodytą mėnesį. Taigi, paspaudus rodyklę galime perpiešti kalendorių su kitu mėnesio numeriu (ir galbūt metais).

Štai pavyzdys, ką galime padaryti paspaudus kito mėnesio rodyklę:

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

Kaip matote, čia naudojamos funkcijos getNextYear ir getNextMonth. Aptarkime, ką jos turėtų daryti.

Kaip matyti iš pavadinimo, funkcija getNextYear gauna kitus metus. Čia turima omenyje tai, kad jei dabar yra gruodis, tada perjungus į kitą mėnesį metai turėtų padidėti 1. Jei dabar nėra gruodis, tada funkcija tiesiog turėtų grąžinti dabartinius metus.

Funkcija getNextMonth turėtų gauti kitą mėnesį. Ji visiems mėnesiams, išskyrus gruodį, prie mėnesio numerio pridės vienetą. O gruodžio atveju kitu mėnesiu bus sausis su numeriu 0.

Panašias operacijos reikėtų atlikti ir paspaudus ankstesnio mėnesio mygtuką:

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

Įgyvendinkite mėnesių keitimo mygtukų veikimą.

Padarykite taip, kad informacija virš kalendoriaus atitiktų rodomą mėnesį ir metus.

Lietuvių
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Mes naudojame slapukus svetainės veikimui, analizei ir personalizavimui. Duomenų apdorojimas vyksta pagal Privatumo politiką.
priimti visus nustatyti atšaukti