--- title: IntersectionObserver slug: Web/API/IntersectionObserver tags: - API - Experimental - Intersection Observer API - IntersectionObserver - Reference - インターフェイス - リファレンス - 実験的 translation_of: Web/API/IntersectionObserver ---
Intersection Observer API の IntersectionObserver
インターフェイスは、対象の要素と祖先要素または文書の最上位の{{Glossary('viewport', 'ビューポート')}}との交差状態の変化を非同期に監視する方法を提供します。祖先要素またはビューポートがルートとして参照されます。
IntersectionObserver
が生成されると、ルート内での可視部分の比率を監視するように構築されます。構成はいったん IntersectionObserver
が生成されると変更できませんので、与えられた監視オブジェクトは可視性の観点による特定の変化を監視する場合にのみ有用です。しかしながら、同じオブザーバーで複数の対象要素を監視することができます。
IntersectionObserver
オブジェクトを生成します。null
となり、最上位の文書のビューポートが使用されます。px
) またはパーセント値 (%
) で表すことができます。既定値は "0px 0px 0px 0px" です。IntersectionObserver
オブジェクトが対象を監視することを停止します。IntersectionObserver
が対象の要素を監視するよう命じます。IntersectionObserver
が特定の要素の監視を停止するよう命じます。var intersectionObserver = new IntersectionObserver(function(entries) { // intersectionRatio が 0 の場合、対象がビューの外にあるので、 // 何かをする必要はありません。 if (entries[0].intersectionRatio <= 0) return; loadItems(10); console.log('Loaded new items'); }); // 監視を開始 intersectionObserver.observe(document.querySelector('.scrollerFooter'));
仕様書 | 状態 | 備考 |
---|---|---|
{{SpecName('IntersectionObserver')}} | {{Spec2('IntersectionObserver')}} |
{{Compat("api.IntersectionObserver")}}