2016-08-24 3 views
0

기본적으로 내가하고 싶은 것은 카운트 다운 타이머에 "10"이하로 도달하면 "0"을 추가하는 것입니다. 지금까지 작동하지 않는 if 문 (아래 코드에서)을 시도했습니다.카운트 다운 타이머가 0에 도달 한 후 카운트 다운 타이머에 추가하십시오.

CountDownTimer('01/1/2017 12:0 AM', 'countdown'); 
    CountDownTimer('01/1/2017 12:0 AM', 'newcountdown'); 

    function CountDownTimer(dt, id) 
    { 
     var end = new Date(dt); 
     var _second = 1000; 
     var _minute = _second * 60; 
     var _hour = _minute * 60; 
     var _day = _hour * 24; 
     var timer; 

     function showRemaining() { 
      var now = new Date(); 
      var distance = end - now; 
      if (distance < 0) { 
       clearInterval(timer); 
       document.getElementById(id).innerHTML = 'EXPIRED!'; 
       return; 
      } 
      var days = Math.floor(distance/_day); 
      var hours = Math.floor((distance % _day)/_hour); 
      var minutes = Math.floor((distance % _hour)/_minute); 
      var seconds = Math.floor((distance % _minute)/_second); 

      // THIS IS THE "IF" STATEMENT THAT DID NOT WORK, EVERYTHING ELSE IS WORKING 
      if (seconds < 10) { 
      document.getElementById(id).innerHTML += '0' + seconds + '.'; 
      } 

      document.getElementById(id).innerHTML = days + '.&nbsp;&nbsp;&nbsp;'; 
      document.getElementById(id).innerHTML += hours + '.&nbsp;&nbsp;&nbsp;'; 
      document.getElementById(id).innerHTML += minutes + '.&nbsp;&nbsp;&nbsp;'; 
      document.getElementById(id).innerHTML += seconds + '.'; 
     } 

     timer = setInterval(showRemaining, 1000); 
    } 
+0

바로 아래에 그것을 덮어 씁니다 ... –

+0

'.innerHTML' 요소에 값을 직접 추가 한 다음'if' 다음에 덮어 씁니다. 'if (seconds <10) seconds = "0"+ seconds;를 시도하십시오. – nnnnnn

답변

0

:

if (seconds < 10) { 
    document.getElementById(id).innerHTML += '0' + seconds + '.'; 
} 

그러나 단지 그 후, 이전 값을 덮어 쓰는, 사실 :

document.getElementById(id).innerHTML += seconds + '.'; 

쉬운을 해결 방법은 seconds을 문자열로 변환하는 것입니다. if :

if (seconds < 10) { 
    seconds = "0" + seconds; 
} 

이 방법을 사용하면 다음 문자열에서 문자열을 사용할 수 있습니다 innerHTML.

1

이 그것을 수행해야합니다 :

 // THIS IS THE "IF" STATEMENT.... 
     if (seconds < 10) { 
     seconds = "0"+ seconds; 
     } 

당신의 출력의 용도를 구성하는 것보다 : 여기 내 전체 코드입니다

 document.getElementById(id).innerHTML = days + '.&nbsp;&nbsp;&nbsp;'+ 
      hours + '.&nbsp;&nbsp;&nbsp;'+ 
      minutes + '.&nbsp;&nbsp;&nbsp;'+ 
      seconds + '.'; 
또한

, 당신의 만료 <0에 있지 <=0에 있어야합니다

0

본인의 If 문은 공동으로 작업하고 있습니다. 바르게. 그러나 바로 IF-문 다음에 당신이이 days + '.&nbsp;&nbsp;&nbsp;'에 innerHTML을 설정 이전의 선언을 덮어 쓸 것입니다

document.getElementById(id).innerHTML = days + '.&nbsp;&nbsp;&nbsp;'; 

있습니다.

마지막 줄에 업데이트 된 초를 사용하도록 If 문에서 초를 설정해보십시오.

코드의 문제가 작동중인 if 아닌
관련 문제