Jacqueline Scheidl: Wochenplaner navigieren

Beitrag lesen

Hallo!

Ich will einen Kalender erstellen, bei dem nicht der ganze Monat sondern nur die Wochen angezeigt werden, mit den Datum des Tages also zB "10, Mi". Also sowas wie ein Wochenplaner, bei dem man auch Termine eintragen kann.

Anzeigen der Zahlen und des Monats geht schon. Mein Problem liegt dabei, wenn ich den vorherigen Monat oder die Tage der letzten Woche anzeigen will.

Hier mal ein Screenshot, damit ihr ne Ahnung von der Struktur habt:

Links werden die Wochentage angezeigt, mit dem orangen Pfeil soll die vorherige/nächste Woche mit den richtigen Daten angezeigt werden und mein Monat genauso.

Mein Code für das Anzeigen der bisherigen Daten:

var month = ['Jänner', 'Februar', 'März', 'April', 'Mai', 'Juni', 'Juli', 'August', 'September', 'Oktober', 'November', 'Dezember'];

 function calendar() {
     var today = new Date();
     setText('label', month[today.getMonth()] + ' ' + (1900 + today.getYear()));

     var day = today.getDay();
     if (day !== 01) {                  // Only manipulate the date if it isn't Mon.
         today.setHours(-24 * (day - 1));   

     }

     setText('Mo', today.getDate());
     setText('Di', today.getDate()+1);
     setText('Mi', today.getDate()+2);
     setText('Do', today.getDate()+3);
     setText('Fr', today.getDate()+4);
     setText('Sa', today.getDate()+5);

 };

 
 function setText(id, val) {
    if(val < 10){
        val = '0' + val;
    }
     document.getElementById(id).innerHTML = val;

 };

 window.onload = calendar;

Was ist die beste Methode um mit jedem Klick auf den Pfeil die Variablen eben eine Woche zurück/vor zu stellen? Das gleiche Problem beim Monat. Ich bräuchte eine Schleife die mir bei jedem Klick auf den Pfeil +1 oder eben -1 geht, aber jeweils vom aktuellen Monat aus. Eine Variable um 1 höher/niedriger zu machen, wär nicht so schwer aber ich weiß nicht wie ich sozusagen den aktuell angezeigten Monat speichern kann, damit die Funktion von diesem aus weiter geht und nicht vom aktuellen Datumsmonat.

Ich bin leider ein ziemlicher Programmier-Neuling und bin für alle Vorschläge, Links, Beispiele, oder was auch immer dankbar!

LG Jackie