--- title: IntersectionObserver slug: Web/API/IntersectionObserver tags: - API - Experimental - Interface - IntersectionObserver - Observation - Visibilité 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 {{Glossary('viewport')}}. L'ancêtre ou la fenêtre du document racine est alors appelé racine.
Lorsqu'un 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é après initialisation de l'IntersectionObserver
, ainsi un certain objet d'observation n'est utile que pour surveiller des changements spécifiques en mesure de visibilité ; toutefois, l'on peut observer de multiples éléments avec un unique observateur.
IntersectionObserver
qui exécutera une fonction de rappel spécifiée lorsqu'il détectera que la visibilité de l'élément cible a franchi un ou plusieurs des seuils.null
, la fenêtre du document racine est utilisée.IntersectionObserver
de ne plus observer aucune cible.IntersectionObserver
un nouvel élément à observer.IntersectionObserver
de cesser d'observer un élément cible particuler.var intersectionObserver = new IntersectionObserver(function (entrées) { // Si ratioIntersection vaut 0 ou moins, la cible // est hors de vue et rien n'est alors fait if (entrées[0].intersectionRatio <= 0) return; chargerÉléments(10); console.log("Nouveaux éléments chargés"); }); // commencement de l'observation intersectionObserver.observe(document.querySelector("sélecteur CSS"));
Specification | Status | Comment |
---|---|---|
{{SpecName('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")}}