kalenderproblem
Heinzi
- javascript
hallo zusammen,
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'> </TD>";
j++;
}
Soweit so gut.
Nun ist mir allerdings aufgefallen, dass die Monatsübergabe von Samstag auf Sonntag nicht funktioniert, weil d.getDay dann ja == 0 ist und die Schleife nicht funzt.
Daher springt er immer auf Montags als ersten des Monats.
Hat einer eine Idee, wie ich den Spass durch minimale Änderungen umgehen kann?
gruß heinzi, danke
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'> </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