본문 바로가기

프로그래밍/JavaScript

setTimeout() 으로 이벤트를 줬으면 clearTimeout()을 해줘야 한다

setTimeout 써서 1.5초 후 box 크기를 다르게 주는 방식으로

애니메이션을 만드는데 문제는 애니메이션을 보기 전에

이벤트를 종료해버릴 때 발생했다!

시간차 공격이라할까.. --


그래서 이벤트를 종료할 때 clearTimeout() 시켜줬다.



// setTimeout은 id값을 가지기 때문에 우선 초기화

var setTimeoutID = null;


// setTimeout을 setTimeoutID 변수에 담기

setTimeoutID = setTimeout( function() {

event

}, 1500);


// 원하는 event에서 setTimeout 없애기 clearTimeout(setTimeout의 ID값)

event {

clearTimeout(setTimeoutID);

}




참고 사이트 :

setTimeout()

https://www.w3schools.com/jsref/met_win_settimeout.asp


clearTimeout()

https://www.w3schools.com/jsref/met_win_cleartimeout.asp