크롬에서 아무 조작없이 일정시간 지나면 자동으로 페이지 이동하게~

크롬에서 아무 조작없이 일정시간 지나면 자동으로 페이지 이동하게~

QA

크롬에서 아무 조작없이 일정시간 지나면 자동으로 페이지 이동하게~

본문

특정페이지에서 아무 조작없이 일정시간이 지나면 다른 페이지로 이동하게 하고 싶습니다.

일정시간후 자동으로 이동하는 소스는 있는데, 아무 조작이 없을때만 이동하게 하는 방법은 모르겠네요.

관련해서 도움 및 조언 부탁드립니다.

감사합니다 

이 질문에 댓글 쓰기 :

답변 1

아무 조작이라는게 어떤건지에 따라 달라지죠..

setTimeout 을 쓰실텐데 

var timer = setTimeout ~~~  이렇게 한다음에 

 

어떤 동작이 일어나면 clearTimeout(timer); 하면 됩니다.

답변 감사 드립니다. 제가 잘 몰라서 한번 더 질문 드리는데요. 아무조작 이라는 것은 그냥 말 그대로 페이지를 열어만 놓은채로, 그대로 두는 것을 말합니다. 마치 컴퓨터를 켜놓고 그대로 자리를 비운 것 처럼요. 그럼 마지막 보던 페이지가 계속 떠있을텐데, 일정 시간이 지나면 메인페이지로 자동으로 넘어가게 하고 싶습니다.

음.. 님 말씀은 알겠습니다.

그런데 그대로 있다는건 해결이 되지만  조작이라는게 여러가지가 있거든요
기본적으로 마우스 조작, 키보드 조작이 있는데
마우스 조작은 스크롤 (업,다운) 마우스 커서가 페이지 내에서 움직이는 경우 등이 있습니다.
그외에도 다양한 동작들이 있는데
어떤 조작 중에 특정 동작이 일어날때 clearTimeout 을  실행하는 구조로 가야 됩니다.

말이 길었습니다만
결론만 말하면
마우스 스크롤 업다운이 발생하면 페이지 이동 취소 라고 한다면


// 타이머 변수
var timer = null;

// 2초 후에 페이지 이동
$(document).readyl(function() {
   timer = setTimeout(function() {
      // 페이지 이동 소스
   }, 2000); // 이동하는 시간 
}

// timer 초기화
var resetTimer = function() {
   if (timer) {
      clearTimeout(timer);
      timer = null;
   }
}

// 스크롤 발생 이벤트에 resetTimer 를 호출
$(document).scroll(resetTimer);


이렇게 될겁니다.
$(document).scroll 여기에 scroll 이 이벤트 종류인데 이부분을 좀 분석해보시면 도움이 될겁니다.

답변을 작성하시기 전에 로그인 해주세요.
전체 66
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT