setInterval에 대해 질문이 있습니다.
412
작성한 질문수 23
수업을 듣다가 궁금증이 생겨서 질문을 남깁니다.
setInterval같은 타이머 함수의 경우 2번째 인자로 1초를 전달해도 자바스크립트 엔진 특성상 정확하게 1초를 보장하지 않는 것으로 알고 있는데 정말 정확하게 하고 싶다면 어떻게 해야할지 궁금합니다!
Date()함수 같은 것을 이용해야하는 것일까요?
답변 1
0
1초를 보장하지는 않지만 브라우저를 일주일씩 켜놓지 않는 이상 큰 오차가 생기지는 않을 것 같은데요
그래도 더 정확하게 하고 싶다. 싶으시면 Date() 함수를 써주시면 됩니다.
지금 시간과 과거 시간을 비교해서 1초마다 setTimeout을 실행시켜주는 방법도 있고요.
requestAnimationFrame 을 이용해주는 방법도 있습니다.
let prevTime = new Date().getTime();
function render() {
let ts = new Date().getTime();
if (ts >= prevTime + 1000) {
prevTime = new Date().getTime();
console.log(prevTime / 1000);
//함수실행
}
requestAnimationFrame(render);
}
render();
requestAnimationFrame 은 뒤에서 설명이 나옵니다.
모바일 스와이프 구현 마지막 숙제
0
418
2
레퍼런스 사이트
0
353
1
스크롤위치에 따른 페이지 변화에서
0
279
1
배열을 이용한 bg컬러 변경 강의에서 tagname body에 [0]이 왜 붙나요?
0
395
1
스크롤 위치에 따른 페이지 변화 - scroll 이벤트 에 대한 질문
0
684
1
페이징.페이지고정2 질문드립니다.
0
465
1
scrollTo 완성본
0
614
2
모바일 3D 입체 카드 제작 아이폰에서 에러
0
392
1
css 질문 드립니다
0
630
1
css 질문
0
291
1
pointBtn.addEventListner("click")
0
315
2
if문의 첫번째 조건 질문 있습니다~
0
289
1
offsetTop, offsetHeight
0
793
2
기존의 축 회전값에 더해서 rotate
0
323
1
모바일 드래그 강의 질문드립니다!
0
262
1
질문입니다.
0
227
1
GSAP(트윈맥스) 라이센스 관련 질문 드립니다.
0
1664
1
wrap 안에 click 이벤트
0
230
1
greensock을 사용하려면
0
705
1
TweenMax 효과 리셋
0
534
1
max 이상으로 입력했을 때 질문입니다.
0
198
1
dom에서 직접i nput의 value 값을 갖고 나오는 것에 대해
0
376
1
화살표 회전 질문
0
269
1
질문이용~
0
224
1





