Ich habe eine Reihe von Ampeln gemacht, die in der Reihe leuchten, aber ich möchte einen Timer laden, wenn die Webseite geöffnet wird, die die Lichter in der Reihenfolge alle 2 Sekunden ändert, anstatt auf einen Knopf zu klicken.Wie ändere ich die Lichter in einer Ampel auf einen Timer in JavaScript?
Ich habe versucht, dies zu tun, aber es funktioniert nicht, wenn jemand von euch weiß warum und kann helfen, bitte. Vielen Dank.
<html>
<body onload="timer()">
<div class="container">
<button class="btn" onclick="traffic_lights()">Change Lights</button>
<img id="traffic-light" src="" alt="traffic lights">
</div>
</body>
<script>
var traffic_light_img = [];
var i = 0;
function traffic_lights() {
if (i <= 3) {
i++;
document.getElementById("traffic-light").src = traffic_light_img[i];
} else {
i = 0;
document.getElementById("traffic-light").src = traffic_light_img[i];
}
}
function timer() {
setInterval(traffic_lights, 2000);
}
</script>
Oh Entschuldigung, ich habe die Bilder in meinem tatsächlichen Code geladen, aber die Seite erlaubt keine Links im Code, also musste ich sie entfernen. – Orbit
Sie könnten die Bedingungen entfernen, wenn Sie i = (++ i)% 3; – Pete
@Pete - True, und guten Fang :) Obwohl dies ein Standard-JavaScript-Zuweisungsproblem ist, und es könnte Verdacht, wenn er Modulo verwendet;) –