• 회원가입
  • 로그인
  • 구글아이디로 로그인

[Window_Object] JS - setTimeout() 메서드 ★★★ - 일정시간 후 1회 할일 지정. (= 촉발시간설정 = setTimeout메서드 = 셋타임아웃 메서드) #얼럿창띄우기 #새로고침 #시간차 링크 이동

목차

  1. setTimeout() 예제 - 일정시간 후 얼럿창 띄우기
  2. setTimeout() 예제 - 일정시간 후 숨기기 (= 사라지게 하기)
  3. setTimeout() 정의
  4. setTimeout() 구문
  5. setTimeout() 단점 - 지정 시간에 콜백함수 실행 담보 X
  6. setTimeout() 예제 - 서서히 나타나 일정 간격으로 깜빡임 설정
  7. setTimeout() 예제 - 일정시간 후 페이지 자동 새로고침
  8. setTimeout() 예제 - 일정시간 후 페이지 이동/납치
  9. setTimeout() 예제 - 클릭 시 일정시간 후 페이지 이동/납치

※ 1회성 시간 측정해, 일정 시간 후 어떤 행위를 실행시킬 때 사용.

 

setTimeout() 예제 - 일정시간 후 얼럿창 띄우기

 

<button onclick="homzzang()">클릭</button>


<script>

function homzzang() {

  setTimeout(function(){ alert("홈짱닷컴 Homzzang.com"); }, 3000);

}

</script>

 

결과보기

※ 클릭 후 3초 후에 얼럿창 뜸. 확인 누르면 계속 3초 후 뜸. 

PS. 관련글: 하틴 님 (190917) https://sir.kr/qa/323614

 

setTimeout() 예제 - 일정시간 후 숨기기 (= 사라지게 하기)

<script>

function hideHz() {

  document.getElementById("hz").style.display="none";

}

self.setTimeout("hideHz()",3000); // 1초: 1000

</script>


<style>

#hz {padding:50px; border:2px solid silver}

</style>


<div id="hz">홈짱닷컴 Homzzang.com - 3초 후에 뿅 !!</div>

 

결과보기

 

setTimeout() 정의

 

지정된 밀리 초 후에 함수를 호출하거나 표현식을 평가.

 


 

1.

1000ms = 1 초.


2. cf.

  • setTimeout() 메서드 : 오직 한 번만 실행하는 경우 사용.
  • setInterval() 메서드 : 실행을 반복해야하는 경우 사용.


3.

clearTimeout() 메서드 : 타이머를 해제해, 함수 실행 안 되게 할 때 사용.

 

 

setTimeout() 구문

 

setTimeout(function, milliseconds, param1, param2, ...)

 


[매개변수]

 

function

필수. 정해진 시간 되면 실행시킬 함수.

 

milliseconds

필수. 함수를 실행시키기 위해 기다려야 하는 시간. (기본값: 0)

※ 밀리초로 표현. (예: 3000 = 3초)

 

param1, param2, ...

선택. 함수에 전달할 매개변수. 

※ IE9 및 그 이전 버전은 지원 X

 


[반환값]

 

설정된 타이머의 ID 값을 나타내는 숫자 반환.

※ 타이머를 취소하려면, clearTimeout() 메서드와 함께 이 값을 사용.

 


setTimeout() 단점 - 지정 시간에 콜백함수 실행 담보 X

 

JS 타이머(setTimeout / setInterval)는 지정 시간에 콜백함수 실행 담보 X

∵ 싱글 콜 스택. 즉, 한번에 하나의 요청만 실행 가능하기 때문. 

 


[예제] https://youtu.be/iNH4UQxZexs

 

<script>

function yo() {

  setTimeout(function () {

    console.log('1.5초 타이머 끝!')

  }, 1500);


  for(let i=0; i<3; i++) {

      doSomething(); // 가정 : 매번 1초 소요

      console.log(i)

  }

  console.log('3초 걸리는 for문 끝!')

}


yo();

console.log('main 끝!');

</script>

 

결과보기 

즉, 3초 소요 반복문 작업을 중간에 멈출 수 없어 1.5초후 실행 예약된 파란색 코드가 3초 지나서야 실행됨.

 

setTimeout() 예제 - 서서히 나타나 일정 간격으로 깜빡임 설정


<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>

<script>

$(document).ready(function(){

    $("button").click(function(){

        $("#hz").fadeIn(5000);

        setTimeout(function(){ 

            $("#hz").fadeOut(); 

            setInterval(function(){

                $("#hz").fadeOut(500).delay(500).fadeIn(3000);

            }, 3000);

        }, 1000);  

    });

});

</script>

 

<style>

#hz {width:80px;height:80px;display:none;background-color:blue; margin-top:30px;}

</style>

 

<button>클릭</button>

<div id="hz"></div>

 

결과보기

grsosik 님 (210223) https://sir.kr/qa/401205

 

setTimeout() 예제 - 일정시간 후 페이지 자동 새로고침

 

<script>

setTimeout(function(){location.reload();},100); // 0.1초 후 새로고침

</script>

 

 

setTimeout() 예제 - 일정시간 후 페이지 이동/납치

 

<script>

setTimeout('gotoPage()', 3000); // 3초 후 실행


function gotoPage(){

    location.href="https://homzzang.com"  // 이동주소

}

</script>

 

 

setTimeout() 예제 - 클릭 시 일정시간 후 페이지 이동/납치

[현재창에서 이동]

 

<a href="javascript:move_gap()">홈짱닷컴 바로가기</a>


<script>

function move_gap() {

    setTimeout(function() {

        location.href = 'https://homzzang.com';

    }, 2000);

}

</script>

 

결과보기


[새창에서 이동]

 

<a href="javascript:move_gap()">홈짱닷컴 바로가기</a>


<script>

function move_gap() {

    setTimeout(function() {

       window.open('https://homzzang.com', '_blank');

    }, 2000);

}

</script>


결과보기



분류 제목
HTML_Objects JS - <address> 객체 - 연락처 (= address태그 = address요소 = 어드레스태그)
HTML_Objects JS - <area> 객체 - 이미지맵 링크 영역 (= area태그 = 에어리어태그) (HTML5수정)
HTML_Objects JS - <article> 객체 ★ - 자족적인 독립콘텐츠 (= 아티클태그 = article태그. IE9)
HTML_Objects JS - <aside> 객체 ★ - 관련별도콘텐츠표시 (= 부가콘텐츠 = 어사이드태그 = aside태그) (…
HTML_Objects JS - <audio> 객체 ★ - 음성파일재생 (=오디오태그 = audio태그) ※ 음성파일형식별로 브라우…
HTML_Objects JS - <b> 객체 ★ - 굵은글씨 (= b태그 = b요소 = 폰트굵기 = 비태그 = 볼드태그 = bol…
HTML_Objects JS - <base> 객체 - 상대주소 기본 URL/타켓 지정 (= base 태그 = 베이스 태그)
HTML_Objects JS - <bdo> 객체 - 텍스트출력방향 (= bdo태그 = bdo요소 = 글자방향 = 브도태그 = 비도태…
HTML_Objects JS - <blockquote> 객체 ★ - 긴 인용구 (= blockquote태그 = blockquote요…
HTML_Objects JS - <body> 객체 ★ - 문서영역 (= body태그 = body요소 = 본문영역 = 바디태그 = 보…
HTML_Objects JS - <br> 객체 ★ - 줄바꿈 (=br태그 = br요소 = 한줄아래로 = 비알태그 = 브르태그 = 브…
HTML_Objects JS - <button> 객체 ★ - 클릭버튼 (= button태그 = 버튼태그) (HTML5수정)
HTML_Objects JS - <canvas> 객체 - 그림그리기 (= canvas태그 = 캔버스태그) (IE9 이상. HTML추…
HTML_Objects JS - <caption> 객체 - 테이블제목 (= 표제목 = caption태그 = 캡션태그) (HTML5 …
HTML_Objects JS - <cite> 객체 - 인용구 제목 (= cite태그 = cite요소 = 저작물제목 = 인용태그 = …
HTML_Objects JS - <code> 객체 - 컴퓨터소스코드 출력 (= code태그 = 코드태그)
HTML_Objects JS - <col> 객체 - 테이블열그룹 (= col태그 = 콜태그) (HTML5 수정)
HTML_Objects JS - <colgroup> 객체 - 테이블의 col태그묶음 (= colgroup태그 = 콜그룹태그, HTM…
HTML_Objects JS - <datalist> 객체 - 입력가능값리스트 (= datalist태그 = 데이터리스트태그) (IE1…
HTML_Objects JS - <dd> 객체 - 항목세부설명 (= dd태그 = 디디태그)
55/67
목록
찾아주셔서 감사합니다. Since 2012