2010-03-02 2 views
1

나는 기록에있어 Javascript에서 그다지 훌륭하지 않다! 나는 아약스 사용법을 알고있다. 도움이 필요합니다.JS 2 분 카운트 다운 후 함수를 실행 하시겠습니까?

5 분 카운트 다운을 표시하는 방법을 알아 내고 카운트 다운이 0이되면 기능을 실행하는 데 어려움을 겪고 있습니다. 실행해야하는 함수에 변수를 전달해야합니다. SetInterval 시도했지만이 정확히 내 강한 소송이 아닙니다. 누구든지 어떤 제안이 있습니까? 내가 가지고있는 코드를 게시 할 수는 있지만, 타자기로 어둠 속에서 울부 짖는 고릴라와 동일시합니다!

+0

질문 제목에 2 분이 표시되고 질문 설명에 5 분이 표시됩니다 .... 실제로는 전혀 중요하지 않습니다. :) – TrickyM66

답변

2

아마도이 방법을 시도해보십시오. setTimeout()을 사용하여 요구 사항의 "타이머"측면을 제어하거나 다르게 배치하여 화면에서 카운트 다운을 제어하십시오.

setTimeout()을 시작할 때 setInterval()을 사용하여 함수 호출을 실행하십시오. setInterval은 특정 시간 후에 기능을 시작하는 데 사용할 수 있으며 해당 간격으로 실행하려고 시도합니다. 일단 함수를 실행하면 clearInterval()에 대한 호출을 사용하여 타이머를 중지하십시오.

다음은 사이트에서 채택한 일부 코드입니다. 테스트하지 않았지만 아이디어를 얻을 수 있어야합니다.

카운트 다운 타이머 : - here에서 방금 수정되었습니다.

<form name="counter"><input type="text" size="8" 
name="d2"></form> 

<script> 
<!-- 
// 
var interval=""; 
var milisec=0; 
var seconds=300; 
document.counter.d2.value='500'; 

function display(){ 
if (milisec<=0){ 
    milisec=9; 
    seconds-=1; 
} 
if (seconds<=-1){ 
    milisec=0; 
    seconds+=1; 
} 
else 
    milisec-=1; 
    document.counter.d2.value=seconds+"."+milisec; 
    setTimeout("display()",100); 
    var interval = setInterval("goFunction(\" + seconds + \")", seconds); 
} 
display(); 

goFunction(param) 
{ 
    clearInterval(interval); 
    // ... Do what needs doing 
} 
--> 
</script>