⊗jsPrCndMChA 62 of 62 menu

Pfeile zur Monatsänderung im Kalender mit JavaScript

Lassen Sie uns nun unter dem Kalender Pfeile zur Monatsänderung hinzufügen. Wir nehmen Änderungen am HTML-Code vor:

<div id="parent"> <div id="calendar"> <div class="info">Jan 2020</div> <table> <thead> <tr> <th>Mo</th> <th>Di</th> <th>Mi</th> <th>Do</th> <th>Fr</th> <th>Sa</th> <th>So</th> </tr> </thead> <tbody class="body"></tbody> </table> <div class="nav"> <a href="#" class="prev">←</a> <a href="#" class="next">→</a> </div> </div> </div>

Wir nehmen Änderungen am CSS-Code vor:

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

Wir holen die Referenzen auf die Pfeile in Variablen:

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

Diskussion

Lassen Sie uns nun besprechen, wie die Aufgabe zu lösen ist. Unser Kalendercode ist tatsächlich gut erweiterbar geschrieben: Wir haben die Funktion draw, die den Kalender für einen gegebenen Monat zeichnet. So können wir bei einem Klick auf den Pfeil den Kalender mit einer anderen Monatsnummer (und möglicherweise Jahr) neu zeichnen.

Hier ist ein Beispiel dafür, was wir bei einem Klick auf den Pfeil für den nächsten Monat tun können:

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

Wie Sie sehen können, werden hier die Funktionen getNextYear und getNextMonth verwendet. Lassen Sie uns besprechen, was sie tun sollen.

Wie der Name schon sagt, soll die Funktion getNextYear das nächste Jahr erhalten. Hier ist gemeint, dass, wenn es aktuell Dezember ist, dann sollte sich beim Wechsel zum nächsten Monat das Jahr um 1 erhöhen. Wenn es nicht Dezember ist, dann soll die Funktion einfach das aktuelle Jahr zurückgeben.

Die Funktion getNextMonth soll den nächsten Monat erhalten. Sie wird für alle Monate außer Dezember zur Monatsnummer eins addieren. Für den Dezember wird der nächste Monat Januar mit der Nummer 0 sein.

Ähnliche Operationen sollten bei einem Klick auf die Schaltfläche des vorherigen Monats durchgeführt werden:

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

Implementieren Sie die Funktion der Schaltflächen zur Monatsänderung.

Sorgen Sie dafür, dass die Information über dem Kalender dem angezeigten Monat und Jahr entspricht.

Deutsch
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Wir verwenden Cookies für den Betrieb der Website, Analyse und Personalisierung. Die Datenverarbeitung erfolgt gemäß der Datenschutzerklärung.
alle akzeptieren anpassen ablehnen