2017-02-25 3 views
-1

このコード私はある程度まで仕事をしています。それは変わるが、非常に速く、私はそれを3秒ほど後に変えたいと思うが、私はどのように見つけ出すことができない。前もって感謝します!HTMLの画像[JAVASCRIPT]が数秒後に変更される

CODE:

<img id = "theImage" src="red.jpg" alt="HTML5 Icon" style="width:250px;height:500px;" align = left> 

<script> 
var sequence = ["red.jpg", "red&amber.jpg", "green.jpg", "amber.jpg"]; 
var place = 0; 

setInterval(change_light,1); 
function change_light() { 
    place += 1; 
    if (place > sequence.length -1) { 
    place = 0; 
    } 
    document.getElementById('theImage').src = sequence[place]; 
} 
+0

問題を決める場合は正解を記入してください – Antonio

答えて

1

。これを試してください。私もあなたの条件を簡略化しました:

var sequence = ["red.jpg", "red&amber.jpg", "green.jpg", "amber.jpg"]; 
var place = 0; 
var frameInterval = 1000; // milliseconds 

setInterval(change_light, frameInterval); 
function change_light() { 
    place++; 
    place = place % sequence.length; 
    document.getElementById('theImage').src = sequence[place]; 
} 
+0

ありがとうございました! – AntsOfTheSky

+0

"place = place%sequence.length"の関数を次のように定義できますか?私はそれが前と同じであると仮定しています。何らかの理由でこれが私を少し混乱させました。私はそれを徹底的に理解できるようになります:) – AntsOfTheSky

+0

確かに!これは、1つのオペランドを第2オペランドで除算したときに残った余りを戻す剰余演算子です。 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Arithmetic_Operators#Remainder – Antonio

0

のsetIntervalは、あなたがミリ秒(ない秒)の数を渡すことを期待

このようにそれを使用してください:あなたがたsetInterval期間中にミリ秒を使用する必要がありますsetInterval(change_light,3000);

+0

ありがとうございました! ----- – AntsOfTheSky

0

これはとても簡単です。わずかな変更: 関数setInterval(change_light、3000);は秒単位ではなく、ミリ秒単位で受信されます。

とも私は、あなたが使用したい場合は、このタイマをクリアすることができるようになりますのsetIntervalにはいくつかの戻り値を追加することをお勧めしたいと思います:

<img id = "theImage" src="red.jpg" alt="HTML5 Icon" style="width:250px;height:500px;" align = left> 

<script> 
var sequence = ["red.jpg", "red&amber.jpg", "green.jpg", "amber.jpg"]; 
var place = 0; 

change_light_id = setInterval(change_light,3000); 

function change_light() { 
    console.log(1); 
    place += 1; 
    if (place > sequence.length -1) { 
    place = 0; 
    } 
    document.getElementById('theImage').src = sequence[place]; 
} 
</script> 
:ここ

clearInterval(change_light_id); 

をして、あなたの固定コードであります

+0

ありがとうございました! – AntsOfTheSky

関連する問題