--- 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")}}