만약 값을 구할 엘리먼트가 감춰져 안 보인다면 화면 밖에 위치하므로 당연히 마이너스 값이 나타나게 된다. 이때 사용하는것이 getBoundingClientRect()이다
단 getBoundingClientRect()을 사용할때는 리플로우 현상이 일어날수있다.
리플로우(reflow): 리플로우는 브라우저가 웹 페이지의 일부 또는 전체를 다시 그려야하는 경우 발생한다.
리플로우 현상이 일어나지 않게 하면서 getBoundingClientRect()와 같은
효과를 나타낼수있는 DOM API
const io = new IntersectionObserver(callback[, options])
참고 : http://blog.hyeyoonjung.com/2019/01/09/intersectionobserver-tutorial/
// 화면의 Y축의 상단값
window.pageYOffset
// 화면의 Y축의 하단값
window.pageYOffset + window.innerHeight