--- title: IntersectionObserver slug: Web/API/IntersectionObserver tags: - API - Interface - Intersection Observer API - IntersectionObserver - Reference - observers translation_of: Web/API/IntersectionObserver ---
L'interface IntersectionObserver
de l'API Intersection Observer fournit un moyen d'observer de manière asynchrone les changements d'intersection d'un élément cible avec un élément ancêtre ou avec la fenêtre du document (viewport). L'ancêtre ou la fenêtre du document est alors appelé racine dans ce contexte.
Lorsqu'un objet implémentant IntersectionObserver
est créé, il est configuré pour surveiller des ratios donnés de visibilité au sein de la racine. La configuration ne peut être changée après initialisation de l'IntersectionObserver
. Ainsi un certain observateur ne sera utile que pour surveiller certains changements spécifiques de visibilité ; toutefois, on peut observer de multiples éléments avec un unique observateur.
IntersectionObserver.IntersectionObserver()
{{Experimental_inline}}IntersectionObserver
qui exécutera une fonction de rappel lorsqu'il détectera que la visibilité de l'élément cible a franchi un ou plusieurs seuils.IntersectionObserver.root
{{readonlyinline}} {{Experimental_inline}}null
, c'est la zone d'affichage (viewport) de plus haut niveau qui est utilisée.IntersectionObserver.rootMargin
{{readonlyinline}} {{Experimental_inline}}"0px 0px 0px 0px"
.IntersectionObserver.thresholds
{{readonlyinline}} {{Experimental_inline}}IntersectionObserver.disconnect()
{{Experimental_inline}}IntersectionObserver
de ne plus observer aucune cible.IntersectionObserver.observe()
{{Experimental_inline}}IntersectionObserver
un nouvel élément à observer.IntersectionObserver.takeRecords()
{{Experimental_inline}}IntersectionObserverEntry
pour toutes les cibles observées et cesse de surveiller chacune d'elles.IntersectionObserver.unobserve()
{{Experimental_inline}}IntersectionObserver
de cesser d'observer un élément cible particuler.var intersectionObserver = new IntersectionObserver(function(entries) { // Si intersectionRatio vaut 0 ou moins, la cible // est hors de vue et rien n'est alors fait if (entries[0].intersectionRatio <= 0) return; loadItems(10); console.log('Nouveaux éléments chargés'); }); // début de l'observation intersectionObserver.observe(document.querySelector('.scrollerFooter'));
Spécification | Statut | Commentaire |
---|---|---|
{{SpecName('IntersectionObserver')}} | {{Spec2('IntersectionObserver')}} |
{{Compat("api.IntersectionObserver")}}