Diese Webseite ändert die Hintergrundfarbe zufällig. Ich habe Probleme mit "#title", aber die Farbe bleibt gleich.Wie ändert man die Hintergrundfarbe zufällig in HTML mit JavaScript?
bitte helfen
Danke
JavaScript-Code:
function setbackground()
{
window.setTimeout("setbackground()", 80); // milliseconds delay
var index = Math.round(Math.random() * 9);
var ColorValue = "FFFFFF"; // default color - white (index = 0)
if(index == 1)
ColorValue = "66FF33";
if(index == 2)
ColorValue = "FF0000";
if(index == 3)
ColorValue = "FF00FF";
if(index == 4)
ColorValue = "0000FF";
if(index == 5)
ColorValue = "00FFFF";
if(index == 6)
ColorValue = "FFFF00";
if(index == 7)
ColorValue = "CC66FF";
if(index == 8)
ColorValue = "3366FF";
if(index == 9)
ColorValue = "CCCCCC";
document.getElementsByTagName("body")[0].style.backgroundColor = "#" + ColorValue;
}
function setbackgroundTitle()
{
window.setTimeout("setbackgroundTitle()", 600); // milliseconds delay
var index = Math.round(Math.random() * 4);
var ColorValue = "FFFFFF"; // default color - white (index = 0)
if(index == 1)
ColorValue = "66FF33";
if(index == 2)
ColorValue = "FF0000";
if(index == 3)
ColorValue = "FF00FF";
if(index == 4)
ColorValue = "0000FF";
document.getElementById("title")[0].style.backgroundColor = "#" + ColorValue;
}
CSS-Code:
#title{
background-color:#11f22f;
height:300px;
width:400px;
margin:25px auto 0 auto;
-moz-border-radius:25px;
-webkit-border-radius:25px;
}
html-Code:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>HomeWork</title>
<script type="text/javascript" src="crazy.js"> </script>
<link rel="stylesheet" type="text/css" href="HomeWork2.css" />
</head>
<body>
<body onload="setbackground();">
<div id="title" onload="setbackgroundTitle();"> hjhjhkj dfvdfsv dfgvkdfsk dfs</div>
</body>
</html>
so
In Zukunft, verwenden Sie anonyme Funktionen im Gegensatz zu Zeichenfolgen für 'setTimeout'. 'setTimeout (function() {setbackgroundTitle()}, 600)' wird ausreichen. –
__Allgemeiner Codehinweis: __ Wenn Sie mehrere if-Anweisungen wie diese haben, werden sie jedes Mal ausgeführt, auch wenn der Index 1 ist. Verwenden Sie stattdessen eine switch-Anweisung. Oder in diesem Fall ist eine noch bessere Lösung, alle Farbwerte in einem Array zu speichern und myColorArray [index] zu verwenden, um Ihren Wert zu erhalten. –
Dies ist das gleiche wie http://stackoverflow.com/questions/25455485/how-change-background-color-of-html-elements-with-javascript-in-a-certain-time-p/25455719#25455719 –