Mein Ziel ist es, eine Ampel zu erstellen. Ich möchte die Farben der Lichter durchlaufen (rot, orange, grün, orange, dann wieder auf rot) mit einer Wartezeit von 10 Sekunden, nachdem die roten und grünen Bilder angezeigt werden, und eine 2 Sekunden Wartezeit, nachdem das orange Bild angezeigt wird . Dies muss ohne Benutzereingaben durchgeschleift werden.Wie behandelt man setTimeout in einer Schleife?
Um die Wartezeit zu implementieren, habe ich versucht, setTimeout
zu verwenden, aber meine Schleife scheint nicht zu laufen.
var trafficLights = ["RedLight.jpg", "RedOrangelight.jpg",
"GreenLight.jpg", "OrangeLight.jpg"],
waitTime = ["10000", "2000", "10000", "2000"],
count = 0,
x = 1;
while (x=1) {
setTimeout(waitTime[count]);
document.getElementById("RedLight").src = trafficLights[count];
count += 1;
if (count = 3) {
count = 0;
}
}
<img id="RedLight" src="RedLight.jpg">
X == 1 (Vergleich) und nicht x = 1 (Zuordnung) in Ihrer während Definition –
prüft dies: http://stackoverflow.com/questions/42596128/traffic-light -using-javascript # comment72324549_42596128 – Abhitalks
Mögliche Duplikate von [Ampel mit Javascript] (http://stackoverflow.com/questions/42596128/traffic-light-using-javascript) – Abhitalks