자바스크립트 setInterval() 을 멈추려면 어떻게 해야할까요?

자바스크립트 setInterval() 을 멈추려면 어떻게 해야할까요?

QA

자바스크립트 setInterval() 을 멈추려면 어떻게 해야할까요?

답변 2

본문

우선 슈와이님께서 전에 알려주셨던대로 했습니다.

 


<script type="text/javascript"> 
function stop(){
clearInterval();
}
var arr = [], i = 0; 
arr[0] = function() { 
$(".test").css("background","black"); 
} 
arr[1] = function() { 
$(".test").css("background","red"); 
} 
arr[2] = function() { 
$(".test").css("background","blue"); 
} 
setInterval(function() { i %= 3; arr[i++]() }, 100); 
</script>

 

배경색이 순차적으로 바뀌게 했는데요

이걸 스탑시키려고 clearInterval(); 을 로드했는데

멈추질 않습니다.

 

멈추게는 어떻게 해야할까요? 

이 질문에 댓글 쓰기 :

답변 2

참조 : http://www.w3schools.com/jsref/met_win_clearinterval.asp

 

 setInterval 을 하나의 변수로 담아서 명시해주시고, clearInterval 에서 그 변수명을 대상으로 clear 해줍니다.

 

그리고 배경색 바꾸는걸 애니메이션으로 구현하고자 하신다면 css 에서 keyframe animation 을 한번 다뤄 보시는것도 좋을 듯합니다.

참조 : http://www.w3schools.com/css/css3_animations.asp 

 


<script type="text/javascript"> var myTime;
function stop(){
clearInterval(myTime);}var arr = [], i = 0; 
arr[0] = function() { 
$(".test").css("background","black"); 
} 
arr[1] = function() { 
$(".test").css("background","red"); 
} 
arr[2] = function() { 
$(".test").css("background","blue"); 
} 
myTime = setInterval(function() { i %= 3; arr[i++]() }, 100); 
</script>
답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 96
© SIRSOFT
현재 페이지 제일 처음으로