Maison >interface Web >tutoriel CSS >Comment puis-je déclencher des animations CSS3 uniquement lorsque les éléments défilent dans la vue ?

Comment puis-je déclencher des animations CSS3 uniquement lorsque les éléments défilent dans la vue ?

DDD
DDDoriginal
2024-12-01 12:09:11907parcourir

How Can I Trigger CSS3 Animations Only When Elements Scroll into View?

Déclencher des animations CSS3 lors du défilement dans la vue

Objectif : Activer les animations CSS3 sur les éléments lorsqu'ils défilent dans la vue de l'utilisateur.

Problème : En raison d'un contenu excessif poussant un graphique à barres animé hors de l'écran, ses animations commencent prématurément lors du chargement de la page.

Solution :Utilisez JavaScript ou jQuery pour surveiller les événements de défilement.

Mise en œuvre :

  1. Capturer les événements de défilement : Utilisez JavaScript ou jQuery pour capturer les événements de défilement, garantissant que l'animation se déclenche uniquement lorsque l'élément cible est dans la fenêtre.
  2. Vérifier la visibilité de l'élément : Dans l'écouteur d'événement de défilement, une fonction telle que isElementInViewport() détermine si l'élément animé est entré la vue de l'utilisateur.
  3. Démarrer l'animation : Une fois l'élément visible, ajoutez une classe (par exemple, "start") pour déclencher l'animation.

Exemple :

Dans cet exemple, jQuery est utilisé pour gérer les événements de défilement et identifier le moment où le graphique à barres devient visible :

$(window).scroll(function() {
    var $elem = $('.bar .level');

    if (!$elem.hasClass('start') && isElementInViewport($elem)) {
        $elem.addClass('start');
    }
});

Ce code JavaScript garantit que l'animation du graphique à barres commence uniquement lorsque l'utilisateur fait défiler vers le bas et que le graphique devient visible dans le fenêtre d'affichage.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn