자바스크립트를 timeout 을 써서 무한으로 돌리고 있는데 스탑시킬수 있을까요? 채택완료
그누초보님
9년 전
조회 5,329
</p><p>function go1(){ setTimeout('go2()', 1000); }</p><p>function go2(){ setTimeout('go3()', 1000); }</p><p>function go3(){ setTimeout('go1()', 1000); }</p><p>
이런식으로 go1(); 실행시 1 2 3 스크립트가 1초 간격으로 실행되도록 코딩했는데요
그냥 놔두면 무한으로 실행되서 stop(); 실행 시 위 스크립트를 멈추고 싶습니다.
검색해보니 clearTimeout(); 이란게 있어서
</p><p>function stop(){
var timer1 = setTimeout('go1()', 1000);
var timer2 = setTimeout('go2()', 1000);
var timer3 = setTimeout('go3()', 1000);
clearTimeout(timer1);
clearTimeout(timer2);
clearTimeout(timer3);
}</p><p>
이런식으로 짜봤는데 stop(); 을 해도 스크립트가 멈추질 않습니다.
특정 스크립트를 즉시 중지할수 있는 방법이 있나요?
댓글을 작성하려면 로그인이 필요합니다.
답변 1개
9년 전
settimout 은 한번만 실행한다는 스킬아닌가요?
setinterval 을 사용하고 필요에 의해 clear 해서 쓰시는게 맞을 듯 합니다만.....
1) setTimeout([Function], [Milliseconds])
- 특정 시간 이 후, 단 한번만 특정 함수 또는 코드를 실행시킬 때 사용합니다.
- 2번째 인자의 시간(Milliseconds)이 경과하면 1번째 인자의 함수를 실행합니다.
2) setInterval([Function], [Milliseconds])
- 특정 시간 마다 특정 함수 또는 코드를 실행시킬 때 사용합니다.
- 2번째 인자의 시간(Milliseconds)이 지날때마다 1번째 인자의 함수를 실행합니다.
3) clearInterval([Timer Id])
로그인 후 평가할 수 있습니다
답변에 대한 댓글 2개
�
그누초보님
9년 전
�
내가누구야
9년 전
function go1(){ setTimeout('go2()', 1000); }
function go2(){ setTimeout('go3()', 1000); }
function go3(){ setTimeout('go1()', 1000); }
1회성이라고 하시면 위의 코드중에 go3 이 실행을 왜 하는건가요?
go3이 go1을 다시 실행하는 코드가 되버리니까 무한루프에 들어가게 되는거 같은데요....
function go2(){ setTimeout('go3()', 1000); }
function go3(){ setTimeout('go1()', 1000); }
1회성이라고 하시면 위의 코드중에 go3 이 실행을 왜 하는건가요?
go3이 go1을 다시 실행하는 코드가 되버리니까 무한루프에 들어가게 되는거 같은데요....
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
실행되고 있어요.
현재는 if 로 선택지를 둬서 input value 에 1이면 플레이 2면 멈춤으로
컨트롤 하고 있는데요.
혹시나 특정 스크립트를 그냥 무조건 스탑 시키는 스크립트가 있는지 해서요..