2009-06-13 8 views
1

일정 시간 동안 코드 블록을 실행하지 않은 다음 다른 코드 블록을 수행하십시오.자바 스크립트 타이밍 문제

+1

so ??? 원하는게 뭐야? 더 많은 정보를 증명해주십시오. 일부 코드 .. etc – Shoban

+1

아마도 그의 문제는 setTimeout을 설정하면 자바 스크립트가 나머지 스크립트를 즉시 계속 실행한다는 것입니다. 이 경우 setTimeout이 함수를 호출하도록하고, 호출 한이 함수 내에서 완료시 실행할 함수를 호출해야합니다. –

+0

프레임 워크를 사용 하시겠습니까? MooTools는 스냅인을 만들기위한 매끄러운 체인 인터페이스를 가지고 있습니다. –

답변

0

의 setTimeout - 한 시간 간격

사항 clearTimeout 후 코드를 실행 -의 setTimeout()

더 상세 here 취소.

2

setTimeout()을 사용하면 아마도 원하는 것일 수 있습니다. 예를 들어 ...

<script type="text/javascript"> 
    function YourFunction() 
    { 
     alert('Hello Stackoverflow'); 
    } 

    window.setTimeout(YourFunction, 1000); 
</script> 

희망은 이것이 첫 번째 인수로 호출하는 방법 많은 시간이 호출하기 전에 기다려야하는 코드를 걸리는 setTimeout 기능을 사용하여, 그것을 할 것이다 어떻게

2

하는 데 도움이 그것은 (밀리 초) 두 번째 인수로 :

때문에 당신이 타임 아웃이 자신의 기능에 완료된 후 실행할 코드를 캡슐화해야 자바 스크립트의 특성
function callWhenDone() { 
    // code to call when timeout finishes 
} 

setTimeout(function() { 
    // initial code to run 
    callWhenDone(); 
}, 5000); // 5000 = run in 5 seconds 

, 그렇지 않은 경우 전에 실행된다 시간 초과가 완료되었습니다. 이것은 본질적으로 callback이며, 이는 자바 스크립트의 이벤트 기반 특성의 큰 부분입니다.

0

setTimeout을 사용하십시오. 이 반복 코드 반복을 제외

setTimeout(function() { 
    // code here 
    // you can use it recursively 
    // setTimeout(...); 
    }, 
    1000 // 1000 miliseconds (= 1 second) 
); 

setIntervalsetTimeout 같다.

0
<script type="text/javascript"> 

var timer = setInterval("firstFunction()","1000"); //every second call firstFunction() 
var i = 0; 

function firstFunction() 
{ 

    //first code 

    i++; 
    if(i == 3) 
    { 
     clearInterval(timer); 
     secondFunction(); 
    } 
} 

function secondFunction() 
{ 
    //second code 
    alert("done!"); 
} 

</script>