2017-10-06 13 views
2

私は5から0までのカウントダウンに以下の関数を作成しましたが、カウントダウンを0で再開しませんでした。setIntervalリセットループが機能しません

JS:

var cc = 5; 
var myTimer = setInterval(myFn, 1000); 

function myFn() { 
    document.getElementById("counter").innerHTML = -- cc; 

    if (cc == 0) { 
    clearInterval(myTimer); 
    myTimer = setInterval(myFn, 1000); 
    } 

} 

HTML:

<span id="counter">5</span> 
+2

問題は、あなたの 'のvar cc'は5 –

+0

にリセットされていないことであるあなたは、CCをリセットする必要があるだけでなく 場合(CC == 0){ てclearInterval (myTimer); cc = 5; myTimer = setInterval(myFn、1000) } – noitse

+0

Aaaaah、ok、thx! – Pepe

答えて

5

あなたは間隔をクリアして、同じコールバックで別のものを設定していますが、cc変数の値を復元することはありませんされています!

var cc = 5; 
 
var myTimer = setInterval(myFn, 1000); 
 

 
function myFn() { 
 
    document.getElementById("counter").innerHTML= --cc; 
 

 
    if (cc == 0) { 
 
    clearInterval(myTimer); 
 
    cc = 5; 
 
    myTimer = setInterval(myFn, 1000); 
 
    } 
 

 
}
Countdown: <span id="counter">5</span>

+0

はい、どうしたらいいでしょう! ;)申し訳ありませんが、サポートに感謝! – Pepe

2
var cnt = 5; 
var myTimer = setInterval(myFn, 1000); 

function myFn() { 
    document.getElementById("counter").innerHTML= --cnt; 

    if (cnt == 0) { 
    clearInterval(myTimer); 
    cnt= 5; 
    myTimer = setInterval(myFn, 1000); 
    } 

} 



Counter: <span id="counter">5</span> 
関連する問題