Zufällige Hintergrundfarbe will nicht
Peter Lustig
- javascript
0 Anna Leimbert0 Peter Lustig0 annA0 Peter Lustig0 annA
0 Thomas Meinike
Ich habe mir ein kleines Skript zusammengebastelt, welches beim Aufrufen der Seite eine zufällige Hintergrundfarbe aus einem Array benutzt, leider scheint irgendwo einen Fehler drin zu sein und ich finde ihn nicht.
Der Code im Head-Bereich:
function randombg() {
var bg = new Array[2];
bg[0] = "#B4BAC0";
bg[1] = "#B4C0B7";
var randbg = math.round(math.random()*bg.length);
document.getElementsByTagName("body")[0].style.backgroundColor = bg[randbg];
}
Diese Funktion wird mit <body onload="randombg()"> aufgerufen.
Kann mir jemand sagen wo der Fehler liegt? Ich versuche meinen Code möglichst DOM-compliant zu kreieren, und keine document.write-Befehle zu benutzen.
Hallo Peter Lustig,
zum einen ist die Array-Deklaration nicht richtig
Objektname = new Array( );
^^ (Runde Klammern)
und math wird großgeschrieben!
Gruss
annA
zum einen ist die Array-Deklaration nicht richtig
Objektname = new Array( );
^^ (Runde Klammern)
Hab's geändert, funktioniert immer noch nicht.
und math wird großgeschrieben!
Daran liegt's wohl kaum, ich habe auch schon mit math herumexperimentiert (allerdings nicht im Zusammenhang mit Hintergrundfarben) und es funktioniert tadellos.
Gruss
Peter Lustig
(Ja, ich habe im ersten Post die Begrüssung vergessen)
Hi Peter,
was gibt es denn für Fehlermeldungen???
bei mir funktioniert das:
<html>
<head>
<script language="javascript1.2" type="text/javascript">
function randombg() {
var bg = new Array(2);
bg[0] = "#B4BAC0";
bg[1] = "#B4C0B7";
var randbg = Math.round(Math.random()*bg.length);
document.getElementsByTagName("body")[0].style.backgroundColor = bg[randbg];
}
</script>
</head>
<body onload="randombg()">
</form>
</body>
</html>
<script language="javascript1.2" type="text/javascript">
^ Lag wohl daran... hab "language" vergessen zu definieren.
Sorry :|
<script language="javascript1.2" type="text/javascript">
^ Lag wohl daran... hab "language" vergessen zu definieren.
Nein, auch ohne den Teil funktioniert es...
Gruss
annA
<script language="javascript1.2" type="text/javascript">
^ Lag wohl daran... hab "language" vergessen zu definieren.
Nein, auch ohne den Teil funktioniert es...
Oh, es lag doch an _M_ath... allerdings verstehe ich nicht warum es bei einem anderen Javascript mit kleinem m funktionierte.
Hallo,
var randbg = Math.round(Math.random()*bg.length);
Im Beispiel werden die Werte 0 oder 1 oder 2 erhalten. Das dritte Arrayelement bg[2] existiert aber nicht. Also besser var randbg = Math.floor(Math.random()*bg.length); verwenden (aber nicht Math.round() und bg.length-1, da dann auch mal -1 entsteht).
MfG, Thomas