Lors de l'intégration d'animations CSS3 dans des pages Web, les utilisateurs peuvent rencontrer des problèmes lorsque les animations sont déclenchées prématurément ou ne sont pas visibles dans le fenêtre d'affichage. Pour résoudre ce problème, l'API IntersectionObserver fournit une solution qui permet aux éléments d'être animés uniquement lorsqu'ils entrent dans la fenêtre d'affichage de l'utilisateur.
L'API IntersectionObserver permet aux développeurs d'observer les changements dans l'intersection. d'éléments cibles avec un élément ancêtre ou la fenêtre d'affichage du document. Cette API fournit une fonction de rappel invoquée lorsque l'élément cible devient visible ou invisible.
Pour implémenter cette fonctionnalité :
const inViewport = (entries, observer) => { entries.forEach(entry => { entry.target.classList.toggle("is-inViewport", entry.isIntersecting); }); }; const observer = new IntersectionObserver(inViewport);
document.querySelectorAll('[data-inviewport]').forEach(el => { observer.observe(el, obsOptions); });
[data-inviewport="fade-in"] { transition: 2s; opacity: 0; } [data-inviewport="fade-in"].is-inViewport { opacity: 1; }
En suivant ces étapes, les animations peuvent être déclenchées dynamiquement en fonction de la visibilité d'un élément dans la fenêtre d'affichage, offrant ainsi une expérience utilisateur plus intuitive et plus attrayante lors du défilement des pages.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!