2016-06-05 6 views
0

Unten ist mein Code für einige meiner Kursarbeit (ich gebe es zu). Wie Sie in den Kommentaren sehen können, habe ich das 'setinterval' mit einem Knopf gemacht. Aber was ich will ist, dass 'setInterval' automatisch ausgeführt werden kann. Was ich damit meine ist, dass ich nicht möchte, dass der Benutzer auf die Schaltfläche klicken muss. Gibt es einen Weg dies zu tun und wenn ja, könntest du mich in die richtige Richtung weisen.Wie bekomme ich setInterval automatisch ohne Benutzereingabe zu laufen

<!DOCTYPE html> 
<html> 
<head> 
    <title>Task 3 Manual traffic lights</title> 
</head> 
<body> 
    <h1>JavaScript Task 3</h1> 

    <p >This is my Traffic Light script</p> 

    <img id="change-light" src="red_traffic_light.png" width="150" height="300" align=middle> 
    <!-- <button onclick="setInterval(changelights, 1000)" >Start the timer</button> --> 
    <script> 
     var list = ["red_traffic_light.png", "red-amber-traffic-light.png","green_traffic_light.png", "amber-traffic-light.png" 
        ]; 

     var index = 0 

     function changelights() { 
      index = index + 1 

      if (index == list.length) index = 0; 
      var image = document.getElementById('change-light'); 
      image.src=list[index]; 
     } 

     </script> 
    </body> 
</html> 
+1

nur die Erklärung setzen, die unter der zur Zeit in der Onclick ist changelights Funktion, würde es dann starten, wenn die Seite lädt – Icepickle

+0

Zusätzlich zu dem, was @Icepickle sagte: Sie müssen 'setInterval' auch in der' changelights' Funktion aufrufen, sonst wird es nur einmal ausgeführt. –

+0

@MarioWerner das wäre der Fall mit setTimeout, der setInterval ruft einfach die Funktion auf, bis clearInterval gemacht wird – Icepickle

Antwort

2

Setzen Sie einfach setInterval(changelights, 1000) in Ihr Skript-Tag.

wenn der Browser diese Codezeile ausführt. Es startet den Timer.

<script> 
    setInterval(changelights, 1000); 
</script> 
+0

Danke für die schnellen Antworten, es handelt jetzt so, wie ich es wollte. – Thefinesmithy

0

Nennen Sie es, wenn Ihr Dokument ist fertig:

Mit jQuery:

$(document).ready(function() { 
    setInterval(changelights, 1000); 
}); 

Reines javascript:

(function() { 
    setInterval(changelights, 1000); 
})(); 
Verwandte Themen