--- title: IntersectionObserver slug: Web/API/IntersectionObserver tags: - API - Experimental - Interface - Intersection Observer API - IntersectionObserver - NeedsTranslation - Reference - TopicStub - observers translation_of: Web/API/IntersectionObserver ---
Intersection Observer API 의 IntersectionObserver
인터페이스는 대상 요소와 그 상위 요소 혹은 최상위 도큐먼트인 {{Glossary('viewport')}}와의 교차 영역에 대한 변화를 비동기적으로 감지할 수 있도록 도와줍니다.
IntersectionObserver
가 생성되면, 루트 내에서 설정된 비율 만큼의 가시성을 계속 감시하도록 설정됩니다. 한번 생성되고 나면, 설정 값은 변경될 수 없으므로, 생성된 감시자 객체는 가시성 정도의 변화를 감시하는 데에만 쓰일 수 있습니다. 하지만 동일한 감시자 객체로 여러 대상 요소를 감시할 수 있습니다.
IntersectionObserver
객체를 생성합니다. 해당 객체는 대상 요소의 가시성이 하나 이상의 설정된 정도 값을 넘을 경우 주어진 콜백 함수를 실행합니다.null
일 경우, 최상위 문서의 뷰포트가 사용된다.px
) 혹은 퍼센트(%
)로 표기될 수 있습니다. 기본 값은 "0px 0px 0px 0px" 입니다.IntersectionObserver
가 어떤 대상이라도 감시하는 것을 중지합니다.var intersectionObserver = new IntersectionObserver(function(entries) { // If intersectionRatio is 0, the target is out of view // and we do not need to do anything. if (entries[0].intersectionRatio <= 0) return; loadItems(10); console.log('Loaded new items'); }); // start observing intersectionObserver.observe(document.querySelector('.scrollerFooter'));
Specification | Status | Comment |
---|---|---|
{{SpecName("IntersectionObserver", "#intersection-observer-interface", "IntersectionObserver")}} | {{Spec2('IntersectionObserver')}} |
The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.
{{Compat("api.IntersectionObserver")}}