2014-11-02 4 views
0
<html> 

<body> 

<script type="text/javascript" language="javascript"> 
function renderTime() { 

var currentTime = new Date(); 
var h = currentTime.getHours(); 
var m = currentTime.getMinutes(); 
var s = currentTime.getSeconds(); 

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


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


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

myClock.textContent = h + ":" + m + ":" + s; 
myClock.intterText = h + ":" + m + ":" + s; 


setTimeout ('renderTime()',1000); 


} 
renderTime(); 
</script> 

</body> 
</html> 

이 코드는 현재 실행중인 디지털 24 시간 시계를 얻으려고하고 있는데, 코드를 추적하고 모든 코드를 검색했지만 코드가 작동하지 않습니다. 내가 뭘 잘못 했니?자바 스크립트가 작동하지 않는 디지털 현재 시계가

+0

는'myClock'는 정의되지 않은 것으로 보인다. –

+0

당신은'intText'가 아닌'innerText'를 의미했을 것입니다. – phantom

답변

0

명이 코멘트에 언급 한대로 코드 몇 가지 문제가 있습니다. 먼저, innerText 철자가 틀립니다. 둘째, myclock은 정의되지 않습니다. 나는 그것이 당신이 <p> 태그임을 의미한다고 생각합니다. @printr에 언급 된대로 setInterval을 사용해야합니다. 그러나 여기가 당신에서 최소한의 수정, 코드를하고있다 :

<html> 
    <body> 
     <p id="clock"></p> 
    <script type="text/javascript" language="javascript"> 
     var myClock = document.getElementById("clock"); 
     function renderTime() { 
      var currentTime = new Date(); 
      var h = currentTime.getHours(); 
      var m = currentTime.getMinutes(); 
      var s = currentTime.getSeconds(); 

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


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


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

      //myClock.textContent = h + ":" + m + ":" + s; 
      myClock.innerText = h + ":" + m + ":" + s; 

      setTimeout(renderTime, 1000); 
     } 
     renderTime(); 
    </script> 
</body> 

0

코드에 몇 가지 문제가 있습니다. JavaScript는 맞춤법 오류를 수정하지 않습니다! 위에서 언급 한 바와 같이 이 아니라 innerText을 사용해야합니다.

renderTime() 함수가 열렸지만 닫히지 않았으므로 "예상치 못한 end of input"오류가 발생합니다 (개발자 콘솔 확인).

또한 setTimeout()이 아닌 setInterval()을 사용하려고합니다. setInterval()은 밀리 초 단위로 설정된 지정된 시간을 기준으로 간격으로 함수를 실행합니다. 1000 밀리 초 = 1 초. 그래서,는 다음과 같습니다

여기
setInterval(function(){ 
    // Code to run ... 
}, 1000); 

가 작동 JSFiddle입니다 :
http://jsfiddle.net/zc44tuea/

+0

12 시일을 맞추면 정확한 시간을 얻고 밀 시간을 사용하지 않을 것입니다. – EasyBB

+0

이것이 전문 시계 인 경우 더 작은 시간 제한을 사용하므로 0-1 초까지 항상 꺼지는 것은 아닙니다. – c0d3rman

+0

이것이 전문 시계라면 우리는 모든 종류의 일을 다르게 할 수 있습니다 ... – printr

관련 문제