2016-06-21 26 views
0

Ich hätte gerne Hilfe beim Hinzufügen einer automatischen Sequenz zu meinem Code. Ich würde jede Form der Hilfe für diese Aufgabe schätzen, und ich würde es sehr schätzen, wenn die Frage für mich erledigt würde. Hier ist die Ampel Array ich getan habe, so weit:Wie mache ich eine Zeitsequenz?

<DOCTYPE html> 
<html> 
<body> 
<img id="img" src="./Programming/images/Traffic light 1.jpg"/> 
</body> 
<button onclick="changingimg()" type="button">Click Here!</button> 

<script> 

var array = [ 
    "./Programming/images/Traffic light 1.jpg", 
    "./Programming/images/Traffic light 2.jpg", 
    "./Programming/images/Traffic light 3.jpg"]; 
var arrayindex = 0; 
var arraylength= array.length; 
function changingimg(){ 
     document.getElementById('img').src = array[arrayindex] 
        if(arrayindex == (arraylength-1)){ 
        arrayindex=0;} 
        else{++arrayindex;} 
} 
</script> 
</body> 
</html> 

Dank

+1

Put 'setTimeout (changingimg, 2000)' am Ende changingimg() – dandavis

+0

würde ich die Funktion als 'Funktion changingimg() vereinfachen { document.getElementById ('img'). src = array [Arrayindex ++% Arraylength]; } ' – fedeghe

Antwort

0

Es wäre auch eine gute Idee sein getElementById zu verwenden nur einmal (falls geladen), dann am Ende würde ich es schreiben

var array = [ 
    "./Programming/images/Traffic light 1.jpg", 
    "./Programming/images/Traffic light 2.jpg", 
    "./Programming/images/Traffic light 3.jpg"], 
    arrayindex = 0, 
    arraylength= array.length, 
    img = document.getElementById('img'), 
    interval = 2000; 
setTimeout(function(){ 
     img.src = array[arrayindex++ % arraylength]; 
}, interval);