- window.innerWidth
window.innerHeight- document.documentElement.clientWidth
document.documentElement.clientHeight
window 객체는 스크롤바가 차지하는 부분까지 합쳐서 계산하고
document.documentElement는 스크롤바가 차지하는 부분은 제외한다.
let scrollHeight = Math.max(
document.body.scrollHeight, document.documentElement.scrollHeight,
document.body.offsetHeight, document.documentElement.offsetHeight,
document.body.clientHeight, document.documentElement.clientHeight
);
window.pageYOffset/pageXOffset
Window.scrollX / scrollY
- window.scrollTo(pageX,pageY) – 절대 좌표
- window.scrollBy(x,y) – 현재 스크롤 상태를 기준으로 상대적으로 스크롤 정보 변경
- elem.scrollIntoView(top) – elem이 눈에 보이도록 스크롤 상태 변경(인수에 따라 창 최상단, 최하단에 해당 요소가 노출되도록 처리)
1번은 화면에 가려진 것을 포함한 문서 전체에서 정확한 위치를 가고
2번은 현재 스크롤 기준에서 옮기는 것이고
3번은 해당 대상(element)을 최상단 혹은 최하단에 노출시킨다.
맨 마지막 위치에 갔을 때
window.innerHeight + window.scrollY === document.body.offsetHeight
창넓이 + scroll한 양 === document가 가지는 Height와 같다