Jacqueline Scheidl: Wochenplaner navigieren

Beitrag lesen

Hallo!

Keine Ahnung wie ich von meinem Rechner hier Bilder hochladen kann?! Ganz ehrlich, ich hab den Screenshot gemacht, auf hochladen geklickt und ihn ausgewählt aber nee... nix da.

Jedenfalls, hab ich mir mittlerweile schonen einen funktionierden Code zusammengestöpselt. Zugegeben, bin nicht alleine draufgekommen, sondern hab viel in Foren etc gesucht, aber wenigstens funktionierts jetzt und ich verstehs.

function calendar() {
    var today = new Date();
    var currYear = today.getFullYear();
    var currMonth = today.getMonth();
    var currWeek = today.getWeek();
 
    var firstDateOfMonth = new Date(currYear, currMonth, 1);
    var firstDayOfMonth = firstDateOfMonth.getDay();     // 0 (Sun) to 6 (Sat)
 
    var firstDateOfWeek = new Date(firstDateOfMonth);  
 
    firstDateOfWeek.setDate(                             // move the Date object
        firstDateOfWeek.getDate() +                      // forward by the number of
        (firstDayOfMonth ? 7 - firstDayOfMonth : 0)      // days needed to go to
    );                                                   // Sunday, if necessary
 
    firstDateOfWeek.setDate(                             // move the Date object
        firstDateOfWeek.getDate() +                      // forward by the number of
        7 * (currWeek-1)                                   // weeks required (week - 1)
    );
 
 
    var dateNumbersOfMonthOnWeek = [];                
    var datesOfMonthOnWeek = [];                      
 
    for (var i = 0; i < 7; i++) {                        // 7 days of week
 
        dateNumbersOfMonthOnWeek.push(                   // push the date number on
            firstDateOfWeek.getDate());                  // the end of the array
 
        datesOfMonthOnWeek.push(                         // push the date object on
            new Date(+firstDateOfWeek));                 // the end of the array
 
        firstDateOfWeek.setDate(
            firstDateOfWeek.getDate() + 1);              // move to the next day
 
    }
   
    setText('month-year', monthArray[currMonth] + " " + currYear);
 
    setText('Mo', dateNumbersOfMonthOnWeek[0]);
    setText('Di', dateNumbersOfMonthOnWeek[1]);
    setText('Mi', dateNumbersOfMonthOnWeek[2]);
    setText('Do', dateNumbersOfMonthOnWeek[3]);
    setText('Fr', dateNumbersOfMonthOnWeek[4]);
    setText('Sa', dateNumbersOfMonthOnWeek[5]);
    setText('So', dateNumbersOfMonthOnWeek[6]);
 
};
 
 
function setText(id, val) {
    if(val < 10){
        val = '0' + val;
    }
    document.getElementById(id).innerHTML = val;
 
};
 
 
window.onload = calendar;

Jetzt meine Frage: Wie kann ich die vorherige oder nächste Woche anzeigen???? Aufbauend auf der Funktion, die ich hier schon hab?!

Ich hab auf der index.html einen "<" Button. Mit Klick darauf soll die Methode aufgerufen werden, die die vorherige Woche anzeigt.

Kann mir jemand vielleicht einen Tipp geben, welche Parameter ich da übergeben muss und wie die Schleife aussehen soll, damit ich immer 1 Woche von aktuell angezeigten Datum zurück/vor gehe? Weil, klar kann man today.getWeek()-1 in die Methode schreiben, nur dann wird ja immer nur von der aktuellen Woche 1 abgezogen, und ich kann nicht mehr als 1 Woche zurückgehen.

Also, das ich mein Hauptproblem! Ich bin für jede Hilfe dankbar!

LG Jackie