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

[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 - <del> 객체 - 텍스트삭제표시 (= del태그 = 딜테그, 델태그, 삭제태그 = 딜리트태그)
HTML_Objects JS - <details> 객체 - 토글가능세부사항 (= 상세사항 = details태그 = 디테일스태그 = …
HTML_Objects JS - <dfn> 객체 - 용어 정의 (= dfn태그 = 정의태그 = 드픈태그 = 디파인태그)
HTML_Objects JS - <dialog> 객체 - 대화상자 (= dialog태그 = 다이알로그태그) (HTML5추가, IE,…
HTML_Objects JS - <div> 객체 ★★★★★ - 영역 지정 (= 섹션 분할 = div태그 = 디브태그 = 디비전태그)…
HTML_Objects JS - <dl> 객체 - 설명리스트 (= 설명목록 = dl태그 = 디엘태그 = DList객체 = 디리스트객…
HTML_Objects JS - <dt> 객체 - 설명항목 (= dt태그 = 디티태그)
HTML_Objects JS - <em> 객체 - 의미 강조어 텍스트 기울게 표시 (= em태그 = 엠태그/이엠태그/엠퍼시스태그)
HTML_Objects JS - <embed> 객체 - 외부동영상재생 (= embed태그 = 엠베드태그, HTML5추가)
HTML_Objects JS - <fieldset> 객체 ★ - 폼양식 관련요소묶음 (= fieldset태그 = 필드셋태그) (HT…
HTML_Objects JS - <figcaption> 객체 - 독립콘텐츠제목 (= figcaption태그 = 피그캡션태그) (IE…
HTML_Objects JS - <figure> 객체 - 독립콘텐츠표시 (= figure태그 = 피겨태그) (HTML5추가, IE9…
HTML_Objects JS - <footer> 객체 ★ - 단락꼬릿말 (= footer태그 = footer요소 = 푸터태그 = 푸…
HTML_Objects JS - <form> 객체 - 입력폼양식 (= form태그 = 폼태그 = form객체 = 폼객체)
HTML_Objects JS - <head> 객체 ★ - 문서정보정의 (= head태그 = 헤드태그) (HTML5에서 속성 지원 X…
HTML_Objects JS - <header> 객체 ★ - 단락머리말 (= header태그 = 헤더태그 = 헤더요소) (HTML…
HTML_Objects JS - <h1> ~ <h6> 객체 ★ - 문단제목글씨크기 (= 표제태그 = 단락제목글자크기 = h1태그, …
HTML_Objects JS - <hr> 객체 - 주제 다른 문단구분선 (= 가로선 = 수평선 = hr태그 = 흐르태그 = 에이치알…
HTML_Objects JS - <html> 객체 ★ - HTML문서 (= html태그 = html요소 = 에이치티엠엘태그)
HTML_Objects JS - <i> 객체 - 이탤릭체 (=기울어진 글씨체 = 글씨 기울어지게 = i태그 = 아이태그, 이탤릭태그…
56/67
목록
찾아주셔서 감사합니다. Since 2012