답변 1개 / 댓글 3개
채택된 답변
+20 포인트
아무 조작이라는게 어떤건지에 따라 달라지죠..
setTimeout 을 쓰실텐데
var timer = setTimeout ~~~ 이렇게 한다음에
어떤 동작이 일어나면 clearTimeout(timer); 하면 됩니다.
답변에 대한 댓글 3개
음.. 님 말씀은 알겠습니다.
그런데 그대로 있다는건 해결이 되지만 조작이라는게 여러가지가 있거든요
기본적으로 마우스 조작, 키보드 조작이 있는데
마우스 조작은 스크롤 (업,다운) 마우스 커서가 페이지 내에서 움직이는 경우 등이 있습니다.
그외에도 다양한 동작들이 있는데
어떤 조작 중에 특정 동작이 일어날때 clearTimeout 을 실행하는 구조로 가야 됩니다.
말이 길었습니다만
결론만 말하면
마우스 스크롤 업다운이 발생하면 페이지 이동 취소 라고 한다면
[code]
// 타이머 변수
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);
[/code]
이렇게 될겁니다.
$(document).scroll 여기에 scroll 이 이벤트 종류인데 이부분을 좀 분석해보시면 도움이 될겁니다.
그런데 그대로 있다는건 해결이 되지만 조작이라는게 여러가지가 있거든요
기본적으로 마우스 조작, 키보드 조작이 있는데
마우스 조작은 스크롤 (업,다운) 마우스 커서가 페이지 내에서 움직이는 경우 등이 있습니다.
그외에도 다양한 동작들이 있는데
어떤 조작 중에 특정 동작이 일어날때 clearTimeout 을 실행하는 구조로 가야 됩니다.
말이 길었습니다만
결론만 말하면
마우스 스크롤 업다운이 발생하면 페이지 이동 취소 라고 한다면
[code]
// 타이머 변수
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);
[/code]
이렇게 될겁니다.
$(document).scroll 여기에 scroll 이 이벤트 종류인데 이부분을 좀 분석해보시면 도움이 될겁니다.
답변을 작성하려면 로그인이 필요합니다.