공부공부
IntersectionObserver()
avocadooooo
2022. 1. 18. 00:18
const callback = (entries, observer) => {
console.log("observe!!!");
}
'원하는 요소가 특정 영역으로 들어왔을 때 알려주는 콜백함수'를 알려주는 관찰자
IntersectionObserver(callback, options)
이때 callback 함수는 호출될 때 entries와 observer를 인자로써 전달한다.
entries와 observer는 그대로 사용하는 것임


1. 박스가 화면에 전부 들어와 있다면 intersectionRatio는 1, 90%면 0.9
2. isIntersecting => 화면으로 들어오고 있으면 true, 나가면 false
<option>
root: null
-> 따로 설정하지 않으면 그냥 viewport임 (보이는 화면)
rootMargin: '0px'
-> 보이는 화면을 넘어서, 설정값 만큼 더 포함하는 것
그러니까... 스크롤 내릴때 이미 보라색으로 변해서 내려오는 거 => rootMargin에서 이미 보라색으로 전환됐기 때문
사용자가 보기전에 사전에 준비해두는 것으로 이해해도 좋을듯
-> 예제로 치면 스크롤이 근접한 경우에 이미지를 먼저 로딩해둔다. 라는 느낌

threshold: 1
-> 전체가 화면에 들어왔을 때 처리하겠다
-> 들어올땐 박스 전체가 화면으로 들어와야만 콜백함수가 수행되지만
-> 나갈때는 조금이라도 나가면 콜백함수가 수행된다. (1 - 1)
다른 예) 0.2일 때 20%만 들어와도 콜백함수 실행 그렇지만 나갈땐 80%가 나가야만 콜백함수 실행