Skip to content

Latest commit

 

History

History
142 lines (113 loc) · 7.71 KB

File metadata and controls

142 lines (113 loc) · 7.71 KB

#실무에 자주 쓰이는 함수1. 타이머 함수.

특정한 시간에 특정한 함수를 실행할 수 있게 하는 함수.
매소드 설명
setTimeout(funtion, millisecond) 일정 시간 후 함수를 다시 한 번 실행
setinterval(funtion, millisecond) 일정 시간 마다 함수를 반복해서 실행
clearTimeout(id) 일정 시간 후 함수를 한 번 실행하는 것을 중지
clearlnterval(id) 일정 시간마다 함수를 반복하는 것을 중단

code : 일정시간 후 실행시킬 자바스크립트 코드를 포함한 문자열

delay : 문자열 code 내에 있는 자바스크립트 코드가 실행되기까지 걸리는 시간 (1/1000초 단위)

타이머 메서드는 특정 시간에 특정 함수를 실행하게 하는 메서드이다.

setTimeout() 메서드는 특정 시간 후에 함수를 한 번 실행하고,
setInterval() 메서드는 특정 시간마다 함수를 실행한다.

setTimeout() 메서드는 한 번만 실행하므로 특별히 주의할 사항이 없지만,
setInterval() 메서드는 지속적으로 실행하므로 지속적으로 메모리를 차지하므로 주의해야 한다.

타이머를 멈추려면 clearTimeout() 메서드와 clearInterval() 메서드를 사용한다.
setTimeout() 메서드와 setInterval() 메서드를 사용하면 아이디를 리턴하는데,
이 타이머 아이디를 clearTimeout() 메서드clearInterval() 메서드의 매개 변수에 넣어주면 타이머를 정지 할 수 있다.

[아래 그림은 setTimeout() 메서드와 setInterval() 메서드의 차이를 나타낸 그림] setTimeout() 메서드와 setInterval() 메서드의 차이 이미지

++예제++

  • 타이머 메서드
<script>
  //윈도우가 로드될 때
  window.onload = function (){
    alert('3초 후 이 페이지는 종료됩니다.');
    // 3초 후에 함수를 실행한다.
    window.setTimeout(function (){
      window.open('about:blank', '_self').close();
    }, 3000);
  }
</script> 

==> CodePen 확인

  • 타이머 정지 메서드
<script>
  //윈도우가 로드될 때
  window.onload = function (){
  // 1초마다 함수를 실행한다.
  var intervalID = setInterval(function (){
        document.body.innerHTML += '<p>' + new Date() + '</p>';
      },1000);
    
    // 10초 후에 함수를 실행한다.
    setTimeout(function (){
    //타이머를 종료한다.
      clearInterval(intervalID);
    }, 10000);
  }
</script> 

==> CodePen 확인

####setInterval(function,millisecond)clearTimeout(id) setInterval()은 지정된 시간후 특정 자바스크립트 코드가 포함된 문자열을 반복하여 호출하는 메소드입니다. setTimeout() 이 지정 시간 후 한번만 호출하는데 비해, 이 메소드는 반복하여 호출 됩니다

++예제++

//1초마다 함수를 실행
   <span id='txt'>0</span>
   <script>
      var cnt = 0;
      function add(){
         document.getElementById("txt").innerHTML = cnt;
         cnt++;
      }
      var timer = setInterval(add, 1000);
   </script>

​위의 예제를 실행하면 0부터 1초마다 값이 계속 올라갑니다.

==> CodePen 확인

####clearInterval setInterval 함수로 시작된 타이머의 실행을 중단시킬 때 사용됩니다.

++예제++

<span id='txt'>0</span>
   <script>
      var cnt = 0;
      function add(){
         if (cnt == 20){
            clearInterval(timer);
         }
         document.getElementById("txt").innerHTML = cnt;
         cnt++;
      }
      var timer = setInterval(add, 1000);
   </script>

위의 예제를 실행하면 0부터 1초마다 값이 계속 올라가다가 20에서 멈춥니다.

==> CodePen 확인


정리문서 바로가기


개인별문서 바로가기