자바스크립트를 timeout 을 써서 무한으로 돌리고 있는데 스탑시킬수 있을까요?
본문
function go1(){ setTimeout('go2()', 1000); }
function go2(){ setTimeout('go3()', 1000); }
function go3(){ setTimeout('go1()', 1000); }
이런식으로 go1(); 실행시 1 2 3 스크립트가 1초 간격으로 실행되도록 코딩했는데요
그냥 놔두면 무한으로 실행되서 stop(); 실행 시 위 스크립트를 멈추고 싶습니다.
검색해보니 clearTimeout(); 이란게 있어서
function stop(){
var timer1 = setTimeout('go1()', 1000);
var timer2 = setTimeout('go2()', 1000);
var timer3 = setTimeout('go3()', 1000);
clearTimeout(timer1);
clearTimeout(timer2);
clearTimeout(timer3);
}
이런식으로 짜봤는데 stop(); 을 해도 스크립트가 멈추질 않습니다.
특정 스크립트를 즉시 중지할수 있는 방법이 있나요?
!-->!-->답변 1
settimout 은 한번만 실행한다는 스킬아닌가요?
setinterval 을 사용하고 필요에 의해 clear 해서 쓰시는게 맞을 듯 합니다만.....
1) setTimeout([Function], [Milliseconds])
- 특정 시간 이 후, 단 한번만 특정 함수 또는 코드를 실행시킬 때 사용합니다.
- 2번째 인자의 시간(Milliseconds)이 경과하면 1번째 인자의 함수를 실행합니다.
2) setInterval([Function], [Milliseconds])
- 특정 시간 마다 특정 함수 또는 코드를 실행시킬 때 사용합니다.
- 2번째 인자의 시간(Milliseconds)이 지날때마다 1번째 인자의 함수를 실행합니다.
3) clearInterval([Timer Id])
답변을 작성하시기 전에 로그인 해주세요.