Vinzenz Mai: kalenderproblem

Beitrag lesen

Hallo Heinzi,

ich habe mit folgendem Schnipsel bei meinem kleinen kalender dafür gesorgt, dass die ersten Felder frei bleiben, wenn der Monat zu Ende ist und der erste des Monats kein Montag ist.

for (var i = 1; i < d.getDay(); i++) {
      daytab += "<TD class='calcss_date_empty'>&nbsp;</TD>";
      j++;
    }

unkommentierter Code ist stets miserabler Code.

Hat einer eine Idee, wie ich den Spass durch minimale Änderungen umgehen kann?

Nein, weil ich Deinen Code nicht verstehe.

Aber schau Dir folgende Tabelle an:

Wochentag des | Rückgabe von | Anzahl der
Monatsersten  |  getDay()    | Leerzellen
------------------------------------------
Sonntag       |      0       |      6
Montag        |      1       |      0
Dienstag      |      2       |      1
Mittwoch      |      3       |      2
Donnerstag    |      4       |      3
Freitag       |      5       |      4
Samstag       |      6       |      5

Wie man leicht sieht, ergibt sich die Anzahl der Leerzellen aus getDay() durch
Addition von 6 und anschließender Modulooperation mit 7:

var anzahl = (d.getDay() + 6) % 7;

Wie Du das in Deinen Code einbaust, das überlasse ich Dir.

Freundliche Grüße

Vinzenz