묻고답하기
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
setTimeout 에 대해 질문입니다.
2003.06.01 15:29
setTimeout 함수를 사용하려 합니다.
<!-- 참조 -->
<script language = 'javascript'>
var timeID ;
function startfunc() {
timeID = setTimeout('myfunc()',10000);
}
function myfunc() {
// 여러가지 할일
}
</sctipt>
<!-- END -->
문서에서 startfunc() 를 호출하면 10초후에 여러가지 할일을 하는 것인데요
문서에서는 한곳에서 startfunc()를 호출하는게 하니고 여러곳에서 호출합니다.
문제는 이미 어느 한곳에서 startfunc()를 호출하면 10초가 되기 전에는 다른 곳에서 다시 startfunc() 를 호출하더라도 이를 무시하려고 합니다
무시를 안하면 호출할때마다 10초후에 myfunc()를 호출하기 때문입니다.
결론을 timeID란 변수가 카운트 다운 중인지 아닌지를 체크하는 방법입니다.
startfunc()에서 timeID를 체크하려고 합니다.
if (timeID == null) {
timeID = setTimeout('myfunc()',10000);
}
위처럼 (timeID == null) 이렇게 검사했더니 한번만 실행되더라구여
아마 null 이것은 변수가 초기화 되었는지 검사하는거 같아요
지금 머리에 쥐 날려고 합니다.
<!-- 참조 -->
<script language = 'javascript'>
var timeID ;
function startfunc() {
timeID = setTimeout('myfunc()',10000);
}
function myfunc() {
// 여러가지 할일
}
</sctipt>
<!-- END -->
문서에서 startfunc() 를 호출하면 10초후에 여러가지 할일을 하는 것인데요
문서에서는 한곳에서 startfunc()를 호출하는게 하니고 여러곳에서 호출합니다.
문제는 이미 어느 한곳에서 startfunc()를 호출하면 10초가 되기 전에는 다른 곳에서 다시 startfunc() 를 호출하더라도 이를 무시하려고 합니다
무시를 안하면 호출할때마다 10초후에 myfunc()를 호출하기 때문입니다.
결론을 timeID란 변수가 카운트 다운 중인지 아닌지를 체크하는 방법입니다.
startfunc()에서 timeID를 체크하려고 합니다.
if (timeID == null) {
timeID = setTimeout('myfunc()',10000);
}
위처럼 (timeID == null) 이렇게 검사했더니 한번만 실행되더라구여
아마 null 이것은 변수가 초기화 되었는지 검사하는거 같아요
지금 머리에 쥐 날려고 합니다.
댓글 4
-
힘찬연못
2003.06.01 17:24
-
앳플군
2003.06.01 18:39
myfunc 밑에 timeID = null; -
신현지
2003.06.01 18:54
감사합니다.
앳플님과 같은 의미 겠지만 이렇게 해결하였읍니다.
clearTimeout(timeID);
자바 꽤 어렵네요
비베만 다루다가 자바해보니 비슷한거 같아도 오류잡기도 쉽지도 않고 만만치가 않네요 -
RedEye(kaist)
2003.06.02 11:31
쿨럭;; 지금 강좌 하신 겁니까?,,, 몰랐네요
-_-;;
이런 코멘트를 원하시는지..ㅡ.ㅡ;