2011-11-20 3 views
0

JS를 사용하여 카운트 다운 타이머를 만들려고합니다.자바 스크립트 카운트 다운 타이머가 시작되지 않음 [코드 포함]

제 코드가 맞다고 생각하지만 작동하지 않습니다. 코드의

목적 : 는 코드의 alst 라인 DONE있는 내용을 표시 할 때까지 감소 타이머를 보여주기 위해 가정 코드입니다.

문제 : 로컬 컴퓨터에서 HTML 페이지를 만들려고 시도했지만 테스트했지만 작동하지 않습니다. 내 웹 사이트에 업로드했는데 작동하지 않습니다.

코드 :

<body> 

<div 
     id="JSPractice5" 
      style="border-style:dotted; 
      padding:10px; 
      font-size:24px; 
      width:200px; 
      text-align:center;"> 
Countdown Starting 
</div> 

<script type="text/javascript"> 
var containerID = "JSPractice5"; 
var number = 100; 
var timerID = setInterval("CountdownTimer()",1000); 
function CountdownTimer() { 
if(number > 1) { 
    number--; 
    ReplaceContentInContainer(containerID,number); //Mark1 
    } 
else { 
    clearInterval(timerID); 
    ReplaceContentInContainer(containerID,'DONE!!'); 
    } 
} 
    </script> 
</body> 

경우 문제의 해결책은/쉽게 바보 당신이 그것을 투표를 아래로 생각 나는 SOF 아주 새로운 해요하기 때문에,하지 마십시오 JS :

미리 감사드립니다. 가 아닌 기존의 함수를 호출하려고하지 않을 경우 때문에

+2

'ReplaceContentInContainer'는 무엇입니까? 코드에 없습니다. – Esailija

+0

ReplaceContentInContainer 란 무엇입니까? 그것은 다른 곳에 정의되어 있습니까? – thesteve

+0

사실, API에서 가져 왔습니다. – Sobiaholic

답변

2

당신은

function ReplaceContentInContainer(id, content) 
{ 
    document.getElementById(id).innerHTML = content; 
} 
+1

저의 작품 : http://jsfiddle.net/hqbCP/ (데모 코드에서 시간 값이 10으로 줄어 듭니다) – stealthyninja

+1

작업을 수행 할 무언가를 검색하면서'ReplaceContentInContainer'를 읽고 포스터 중 아무도 함수, 이후 JS (전혀 배운 적이없는, 그냥 내 Java 기반으로 주위에 놀고) 나는 그것을 직접 복사했습니다. 감사합니다 Stealthyninja. 나는 이것을 주목할 것이다. – Sobiaholic

-1
<body> 

<div 
     id="JSPractice5" 
      style="border-style:dotted; 
      padding:10px; 
      font-size:24px; 
      width:200px; 
      text-align:center;"> 
Countdown Starting 
</div> 

<script type="text/javascript"> 
var containerID = "JSPractice5"; 
var number = 100; 

function CountdownTimer() { 
if(number > 1) { 
    number--; 
    ReplaceContentInContainer(containerID,number); 
    } 
else { 
    clearInterval(timerID); 
    ReplaceContentInContainer(containerID,'DONE!!'); 
    } 
} 
var timerID = setInterval(CountdownTimer(),1000); 
    </script> 

</body> 

먼저이 누락의 timerId가 두 번째 기능 CountdownTimer 될 should't이다, CountdownTimer 기능 후에해야한다 따옴표 안에.

+3

이 줄 :'setInterval (CountdownTimer(), 1000);'는 작동하지 않습니다. 또한'setInterval()'과'setTimeout()'[work] (https://developer.mozilla.org/en/window.setInterval)이 어떻게'eval()'이 될지 이해하지 못한다. 첫 번째 인수에서 전달 된 문자열 또는 전달 된 함수 참조를 실행합니다 (두 번째 방법이 더 나은 방법입니다). –

+1

Jared는 다음과 같은 이유로 정확합니다. setInterval의 첫 번째 인수는 함수에 대한 * 참조 *가되어야하며 그 결과는 –

+0

예가 아니며 setInterval에'() '이 없다는 의미입니다. –

1

전화를 포함하는 문자열 대신 함수 setInterval을 다시 호출하여 호출합니다. 예 : http://jsfiddle.net/2zwbV/2/ 참조

관련 문제