Hallo Iversenfoni,
Ich habe hier einen Code, der ein Zufallsbild pro Tag generiert.
Ich verstehe ehrlich gesagt nicht ganz, was du damit meinst. Pro Tag ein Zufallsbild - wird also jedem Tag genau ein vorher festgelegtes Bild zugeordnet? Oder gibts am Monatsanfang nur genau ein zufällig ausgewähltes Bild und am Monatsende 31 zufällig ausgewählte Bilder, die alle nebeneinander auf der Seite angezeigt werden?
Jedenfalls sind aber im Code einige Fehler - vielleicht funktioniert's ja, wenn du die ausbesserst:
day = now.getDay();
Du weißt, dass getDay() den *Wochen*tag liefert, nicht den Tag im Monat?
{
[...]
}
Haben die geschwiffenen Klammern hier eine Bedeutung? Achtung: Es könnte sein, dass die Variable "zufall" lokal eingeführt wird (wegen dem "var" bei der Deklaration) und ihr Gültigkeitsbereich auf den Anweisungsblock, der durch die geschwiffenen Klammern begrenzt ist, eingeschränkt ist.
var zufall = Math.round(Math.random() * day) +1;
Math.round() ist hier wahrscheinlich fehl am Platz, weil damit ab n+0.5 aufgerundet wird. D.h. dass die Eins nur halb so wahrscheinlich ist wie die anderen Zahlen, und dass der Variablen "zufall" auch ein Wert um eins größer als "day" zugewiesen werden kann, wenn Math.random() eine Zahl sehr nahe an 1 liefert. Nimm lieber Math.floor().
Bist du dir wirklich sicher, dass diese Berechnung den gewünschten Sinn gibt? Du erhältst damit *eine* Zufallszahl, die z.B. Montags zwischen 1 und 2 liegt, Dienstags zwischen 1 und 3 und Samstags zwischen 1 und 7.
zufall;
Dadurch wird's auch nicht zufälliger ;-)
(Die Anweisung bringt's nicht.)
{
[...]
}
Dieser Anweisungsblock ebenfalls nicht. Kann aber auch sein, dass ich nur grad irgend einen JavaScript-Trick nicht kenne. Irgendwie verunsichern mich diese Klammern.
if (zufall == 0)
Die Variable "zufall" kann nie den Wert 0 annehmen, da du bei der Zuweisung zum Rückgabewert von Math.round() noch 1 draufgezählt hast.
Bei deinen if-Abfragen kann es übrigens vorkommen, dass keiner der überprüften Fälle eintritt. Weiß jetzt nicht, ob das erwünscht ist. Eigentlich brauchst du die Abfragen aber auch nicht, wenn du statt dessen einfach schreibst:
document.write("<img src='00" + (zufall+1) + ".jpg' name='titel' height='111' width='652' border='0' usemap='#Identity'>");
Nochmal: Das Bild "001.jpg" wird damit nie angezeigt werden, weil die Variable "zufall" nie den Wert 0 annehmen wird (oder bin ich jetzt grad völlig auf dem falschen Dampfer?).
aktualisiert man die Seite mit dem Bild nur, bleibt der Bereich, wo das Bild wieder geladen werden sollte, leer!
Das könnte daran liegen, dass vielleicht die Variable "zufall" gerade zufälliger Weise auf einen Wert größer als 2 gesetzt wurde. Das sollte jedoch nur Dienstags bis Samstags möglich sein.
Viel Erfolg,
Robert