2017-10-06 2 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' 당신은뿐만 아니라 CC를 재설정해야 5. –

+0

으로 재설정되지 않는 것입니다 (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> 
관련 문제