recherche
Maisoninterface Webjs tutorielAnimations javascript dans les applications angularjs

JavaScript Animations in AngularJS Applications

Points de base

  • AngularJS est un excellent cadre pour créer des applications Web à une seule page, et son support d'animation est l'une de ses principales caractéristiques. Les animations JavaScript peuvent être utilisées pour ajouter des effets d'animation aux applications AngularJS.
  • Les animations JavaScript angulaires personnalisées sont définies dans la méthode animation du module angulaire. Le nom d'animation commence par un point.
  • L'animation peut être appliquée à diverses directives AngularJS, telles que les directives NG-View, Ng-Repeat, Ng-Hide et Custom. Par exemple, vous pouvez ajouter des animations dans la directive NG-View pour créer des effets visuels lorsque l'utilisateur bascule entre les vues; ou ajouter des animations dans la directive NG-Repeat pour indiquer visuellement lorsque des changements se produisent.
  • Animation Bien qu'elle puisse rendre l'application plus vive, la surutilisation de l'animation peut faire ralentir l'application et peut submerger l'utilisateur final. Par conséquent, l'animation doit être utilisée optimisée et stratégiquement.

AngularJS est un framework riche en fonctionnalités pour la création d'applications Web d'une seule page qui fournissent toutes les fonctionnalités dont vous avez besoin pour créer des applications riches et interactives. L'une des principales caractéristiques d'Angular est sa prise en charge de l'animation.

Nous pouvons animer une partie de l'application pour indiquer des modifications qui se produisent. Dans mon dernier article, j'ai introduit le support des animations CSS dans les applications angulaires. Dans cet article, nous apprendrons à utiliser JavaScript pour ajouter des animations aux applications AngularJS.

Dans Angular, la seule différence entre les animations CSS et JavaScript est la façon dont elles sont définies. Il n'y a aucune différence dans la façon dont les animations définies sont utilisées. Tout d'abord, nous devons charger le module Nganate dans le module racine de l'application.

angular.module('coursesApp', ['ngAnimate']);

Les événements d'animation à traiter dans les animations JavaScript restent également inchangés. Ce qui suit est une liste de commandes qui prennent en charge l'animation et leurs événements pour différentes opérations:

Instructions Événements

ng-visue Entrez, laissez ng-include Entrez, laissez ng-switch entrez, laissez ng-if Entrez, quitter ng-repeat entrez, partez, déplacez-vous ng-show ajouter, supprimer ng-hide ajouter, supprimer ng-classe ajouter, supprimer La liste ci-dessus est la même que celle du post précédent, mais ne mentionne pas les classes CSS correspondantes car nous n'en avons pas besoin pour définir des animations JavaScript. Ces événements ne sont générés que lorsque le module d'application charge le module Nganate. Voyons maintenant comment animer certaines directives. Syntaxe angulaire personnalisée

Le cadre de base de l'animation JavaScript personnalisée est le suivant:

angular.module('coursesApp', ['ngAnimate']);

Lorsque vous écrivez des animations JavaScript dans AngularJS, rappelez-vous les points suivants:

  1. Le nom d'animation commence par un point (.).
  2. Chaque opération d'animation accepte deux paramètres:
    • un objet qui est l'élément DOM actuel qui appliquera l'animation. Si jQuery n'est pas chargé avant que AngularJS ne soit chargé, c'est un objet JQLite; sinon c'est un objet jQuery.
    • La fonction de rappel appelée une fois l'animation terminée. Le fonctionnement de l'instruction sera interrompu avant d'appeler la fonction Terminée.

Nous avons de nombreuses bibliothèques JavaScript telles que jQuery, Greensock, Anima, etc., qui simplifient le travail d'écriture d'animations. Pour plus de simplicité, j'utilise jQuery pour créer des animations dans cet article. Pour en savoir plus sur d'autres bibliothèques, vous pouvez visiter leurs sites Web respectifs.

Ajouter animé à Ng-View

Les animes sont appliqués à la directive NG-View lorsque l'utilisateur bascule entre les vues de l'application AngularJS. Comme indiqué dans le tableau ci-dessus, nous pouvons ajouter des animations lorsque la vue entre ou part. Il n'est pas nécessaire de gérer les deux cas; nous pouvons ajouter des animations pour des situations qui semblent nécessaires.

Les animations suivantes produiront des effets visuels lorsque la vue entre dans la page:

angular.module('coursesApp').animation('.name-of-animation', function(<injectables></injectables>) {
  return {
    event: function(elem, done){
      // 动画逻辑
      done();
    }
  };
});

Le code ci-dessus créera un effet glissant lorsque la vue entre dans la page. La méthode terminée est passée en tant que rappel. Il s'agit d'indiquer que l'animation est terminée et que le cadre peut désormais passer à l'opération suivante.

Veuillez noter comment la méthode animate() est appelée. Nous n'avons pas à convertir des éléments en objets jQuery, car la bibliothèque jQuery est chargée avant le chargement d'AngularJS.

Maintenant, nous devons appliquer cette animation à la directive NG-View. Bien que l'animation soit définie en JavaScript, par convention, nous utilisons des classes sur la directive cible pour l'appliquer.

courseAppAnimations.animation('.view-slide-in', function () {
  return {
    enter: function(element, done) {
      element.css({
        opacity: 0.5,
        position: "relative",
        top: "10px",
        left: "20px"
      })
      .animate({
        top: 0,
        left: 0,
        opacity: 1
        }, 1000, done);
    }
  };
});

Ajouter animé à Ng-Repeat

Ng-Repeat est l'une des instructions les plus importantes, qui offre de nombreuses options. Les deux opérations de base de cette instruction sont le filtrage et le tri. Selon le type d'opération effectué, les éléments sous l'instruction seront ajoutés, supprimés ou déplacés.

appliquons une animation de base afin que l'utilisateur puisse voir lorsque des modifications se produisent.

<div class="view-slide-in" ng-view=""></div>

Ajouter animé à ng-hide

La directive

ng-hide ajoute ou supprime la classe CSS Hide Ng sur l'élément cible. Pour appliquer des animations, nous devons gérer la situation où nous ajoutons et supprimons les classes CSS. Le nom de classe sera transmis à la classe du gestionnaire d'animation. Cela nous permet de vérifier la classe et de prendre les mesures appropriées.

Ce qui suit est un exemple de code d'animation qui s'estompe ou s'estompe dans les éléments lorsque la directive NG-Hide est activée ou désactivée:

courseAppAnimations.animation('.repeat-animation', function () {
  return {
    enter : function(element, done) {
      console.log("entering...");
      var width = element.width();
      element.css({
        position: 'relative',
        left: -10,
        opacity: 0
      });
      element.animate({
        left: 0,
        opacity: 1
      }, done);
    },
    leave : function(element, done) {
      element.css({
        position: 'relative',
        left: 0,
        opacity: 1
      });
      element.animate({
        left: -10,
        opacity: 0
      }, done);
    },
    move : function(element, done) {
      element.css({
        left: "2px",
        opacity: 0.5
      });
      element.animate({
        left: "0px",
        opacity: 1
      }, done);
    }
  };
});

Ajouter des commandes personnalisées animées

Pour ajouter des animations aux directives personnalisées, nous devons utiliser le service $animate. Bien que $animate fasse partie du cadre Core AngularJS, Nganimate doit être chargé pour profiter du service.

Avec la même démo que dans le post précédent, nous afficherons une page avec une liste de cours. Nous créons une directive qui affiche les détails du cours dans une boîte, et après avoir cliqué sur le lien "Afficher les statistiques", le contenu de la boîte changera. Ajoutons une animation pour que l'utilisateur puisse voir la transition.

Lorsque la transition se produit, nous ajouterons une classe CSS, que nous supprimerons une fois l'animation terminée. Voici le code de cette directive:

angular.module('coursesApp', ['ngAnimate']);

Comme vous pouvez le voir, nous effectuons l'action une fois l'animation terminée. Lors de la vérification des éléments de directive dans les outils de développeur de navigateur, nous verrons que les classes qui commutant acactives et commutateurs sont ajoutées et supprimées très rapidement. Nous pouvons définir les transitions CSS ou personnaliser les animations JavaScript pour voir les animations qui se produisent. Voici un exemple de transition CSS qui peut être utilisé avec les directives ci-dessus (pour la brièveté, les préfixes des fournisseurs sont omis):

angular.module('coursesApp').animation('.name-of-animation', function(<injectables></injectables>) {
  return {
    event: function(elem, done){
      // 动画逻辑
      done();
    }
  };
});

ou, ce qui suit est une animation jQuery qui peut être utilisée pour la même instruction:

courseAppAnimations.animation('.view-slide-in', function () {
  return {
    enter: function(element, done) {
      element.css({
        opacity: 0.5,
        position: "relative",
        top: "10px",
        left: "20px"
      })
      .animate({
        top: 0,
        left: 0,
        opacity: 1
        }, 1000, done);
    }
  };
});

Une de ces animations peut être appliquée aux directives personnalisées, tout comme nous appliquons des animations aux directives intégrées.

<div class="view-slide-in" ng-view=""></div>

Vous pouvez afficher les effets réels de toutes les animations ci-dessus sur la page de démonstration.

Conclusion

L'animation peut rendre l'application plus vive si elle est utilisée correctement et fonctionnellement. Comme nous pouvons le voir, AngularJS prend en charge les animations CSS et JavaScript richement. Vous pouvez choisir l'un d'eux en fonction de la situation de l'équipe.

Cependant, une utilisation intensive de l'animation peut entraîner le ralentissement de l'application et l'application semble être surdimensionnée pour l'utilisateur final. Par conséquent, cette arme doit être utilisée avec prudence et optimisation.

FAQ sur les animations javascript dans les applications angularjs (FAQ)

Comment créer des animations de base dans AngularJS?

La création d'une animation de base dans AngularJS implique plusieurs étapes. Tout d'abord, vous devez inclure la bibliothèque d'animation AngularJS dans votre projet. Cela peut être réalisé en ajoutant une référence au fichier "angular-animate.js" dans le fichier html. Ensuite, vous devez injecter le module "Nganatem" dans votre application AngularJS. Cela peut être réalisé en ajoutant "Nganate" comme dépendance dans le module d'application. Après avoir fait cela, vous pouvez créer des animations à l'aide de la classe CSS et de la directive AngularJS. Par exemple, vous pouvez utiliser les classes "ng-enter" et "ng-leave" pour animer un élément lorsqu'il entre ou quitte le DOM.

Quels sont les composants clés de l'animation angularjs?

L'animation AngularJS se compose principalement de deux composantes clés: CSS et JavaScript. CSS est utilisé pour définir le style et les transitions des animations, tandis que JavaScript est utilisé pour contrôler le temps et l'ordre des animations. Dans AngularJS, les animations sont créées en associant des classes CSS à des directives AngularJS spécifiques telles que "Ng-Repeat", "Ng-Switch" et "Ng-View". Ces directives ajoutent et suppriment automatiquement les classes CSS associées au bon moment, vous permettant de créer des animations complexes avec un code JavaScript minimal.

Comment contrôler l'heure de l'animation dans AngularJS?

Les transitions CSS et les animations peuvent être utilisées pour contrôler le temps des animations dans AngularJS. En spécifiant les attributs de "durée de transition" ou de "durée d'animation" dans la classe CSS, vous pouvez contrôler la durée de l'animation. De plus, vous pouvez utiliser les attributs "transition-retard" ou "animation-delay" pour contrôler l'heure de début de l'animation. Ces propriétés peuvent être spécifiées en secondes ou en millisecondes (MS).

Puis-je créer des animations dans AngularJS en utilisant JavaScript?

Oui, vous pouvez créer des animations dans AngularJS à l'aide de JavaScript. Bien que CSS soit souvent utilisé pour des animations simples, JavaScript peut être utilisé pour des animations plus complexes qui nécessitent un contrôle précis sur le calendrier et l'ordre des animations. Dans AngularJS, vous pouvez contrôler les animations par programme à l'aide du service "$ animate". Ce service fournit des méthodes pour ajouter, supprimer et interroger les classes CSS, vous permettant de créer des animations complexes à l'aide de JavaScript.

Comment animer les éléments lors de l'entrée ou de la sortie du Dom dans AngularJS?

Dans AngularJS, vous pouvez utiliser les classes "ng-enter" et "ng-leave" pour animer un élément lorsqu'il entre ou quitte le dom. AngularJS ajoute et supprime automatiquement ces classes lorsque les éléments entrent ou quittent le DOM. En définissant des transitions ou des animations CSS pour ces classes, vous pouvez créer des animations qui déclenchent lorsqu'un élément entre ou quitte le DOM.

Comment utiliser l'animation angularjs avec "Ng-Repeat"?

Vous pouvez utiliser AngularJS Animation avec "Ng-Repeat" en associant la classe CSS à la directive "Ng-Repeat". Lorsqu'un élément est ajouté ou supprimé de la liste «Ng-Repeat», AngularJS ajoute et supprime automatiquement la classe CSS associée, déclenchant l'animation correspondante. Par exemple, vous pouvez utiliser les classes "ng-enter" et "ng-leave" pour animer le projet lorsqu'il est ajouté ou supprimé d'une liste.

Puis-je utiliser AngularJS Animation avec "Ng-Switch"?

Oui, vous pouvez utiliser AngularJS Animation avec "Ng-Switch". Semblable à "Ng-Repeat", vous pouvez associer une classe CSS à la directive "Ng-Switch" pour créer une animation. Lorsque la condition "Ng-Switch" change, AngularJS ajoute et supprime automatiquement la classe CSS associée, déclenchant l'animation correspondante.

Comment utiliser l'animation AngularJs avec "Ng-View"?

Vous pouvez utiliser AngularJS Animation avec "NG-View" en associant la classe CSS à la directive "NG-View". Lorsque la vue change, AngularJS ajoute et supprime automatiquement la classe CSS associée, déclenchant l'animation correspondante. Cela peut être utilisé pour créer des animations de transition de page dans les applications AngularJS.

Puis-je utiliser des animations AngularJS avec des directives personnalisées?

Oui, vous pouvez utiliser AngularJS Animations avec des directives personnalisées. En utilisant le service "$ animate" dans la fonction de liaison de la directive, vous pouvez ajouter, supprimer et interroger les classes CSS pour créer des animations complexes à l'aide de JavaScript.

Comment déboguer AngularJs Animation?

Vous pouvez utiliser des outils de développeur de navigateur pour déboguer les animations AngularJS. En vérifiant les éléments d'animation dans le DOM, vous pouvez voir quelles classes CSS AngularJS ajoutent et suppriment. De plus, vous pouvez activer ou désactiver l'animation à l'aide de la méthode "activée" du service "$ animate", qui est très utile pour le débogage.

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
Python vs JavaScript: une analyse comparative pour les développeursPython vs JavaScript: une analyse comparative pour les développeursMay 09, 2025 am 12:22 AM

La principale différence entre Python et JavaScript est le système de type et les scénarios d'application. 1. Python utilise des types dynamiques, adaptés à l'informatique scientifique et à l'analyse des données. 2. JavaScript adopte des types faibles et est largement utilisé pour le développement frontal et complet. Les deux ont leurs propres avantages dans la programmation asynchrone et l'optimisation des performances, et doivent être décidées en fonction des exigences du projet lors du choix.

Python vs JavaScript: Choisir le bon outil pour le travailPython vs JavaScript: Choisir le bon outil pour le travailMay 08, 2025 am 12:10 AM

Que ce soit pour choisir Python ou JavaScript dépend du type de projet: 1) Choisissez Python pour les tâches de science et d'automatisation des données; 2) Choisissez JavaScript pour le développement frontal et complet. Python est favorisé pour sa bibliothèque puissante dans le traitement et l'automatisation des données, tandis que JavaScript est indispensable pour ses avantages dans l'interaction Web et le développement complet.

Python et Javascript: comprendre les forces de chacunPython et Javascript: comprendre les forces de chacunMay 06, 2025 am 12:15 AM

Python et JavaScript ont chacun leurs propres avantages, et le choix dépend des besoins du projet et des préférences personnelles. 1. Python est facile à apprendre, avec une syntaxe concise, adaptée à la science des données et au développement back-end, mais a une vitesse d'exécution lente. 2. JavaScript est partout dans le développement frontal et possède de fortes capacités de programmation asynchrones. Node.js le rend adapté au développement complet, mais la syntaxe peut être complexe et sujet aux erreurs.

Core de JavaScript: est-il construit sur C ou C?Core de JavaScript: est-il construit sur C ou C?May 05, 2025 am 12:07 AM

Javascriptisnotbuiltoncorc; il est en interprétéLanguageThatrunSoninesoftenwritteninc .1) javascriptwasdesignedasalightweight, interprété de LanguageForwebbrowsers.2) EnginesevolvedFromSimpleInterpreterstoJitCompilers, typicalinc, impropringperformance.

Applications JavaScript: de front-end à back-endApplications JavaScript: de front-end à back-endMay 04, 2025 am 12:12 AM

JavaScript peut être utilisé pour le développement frontal et back-end. L'endouage frontal améliore l'expérience utilisateur via les opérations DOM, et le back-end gère les tâches du serveur via Node.js. 1. Exemple frontal: modifiez le contenu du texte de la page Web. 2. Exemple backend: Créez un serveur Node.js.

Python vs JavaScript: Quelle langue devez-vous apprendre?Python vs JavaScript: Quelle langue devez-vous apprendre?May 03, 2025 am 12:10 AM

Le choix de Python ou JavaScript doit être basé sur le développement de carrière, la courbe d'apprentissage et l'écosystème: 1) le développement de carrière: Python convient à la science des données et au développement de back-end, tandis que JavaScript convient au développement frontal et complet. 2) Courbe d'apprentissage: la syntaxe Python est concise et adaptée aux débutants; La syntaxe JavaScript est flexible. 3) Ecosystème: Python possède de riches bibliothèques informatiques scientifiques, et JavaScript a un puissant cadre frontal.

Frameworks javascript: alimenter le développement Web moderneFrameworks javascript: alimenter le développement Web moderneMay 02, 2025 am 12:04 AM

La puissance du cadre JavaScript réside dans la simplification du développement, l'amélioration de l'expérience utilisateur et les performances des applications. Lorsque vous choisissez un cadre, considérez: 1. Taille et complexité du projet, 2. Expérience d'équipe, 3. Écosystème et soutien communautaire.

La relation entre JavaScript, C et BrowsersLa relation entre JavaScript, C et BrowsersMay 01, 2025 am 12:06 AM

INTRODUCTION Je sais que vous pouvez le trouver étrange, que doit faire exactement JavaScript, C et Browser? Ils semblent sans rapport, mais en fait, ils jouent un rôle très important dans le développement Web moderne. Aujourd'hui, nous discuterons du lien étroit entre ces trois. Grâce à cet article, vous apprendrez comment JavaScript fonctionne dans le navigateur, le rôle de C dans le moteur du navigateur et comment ils fonctionnent ensemble pour stimuler le rendu et l'interaction des pages Web. Nous connaissons tous la relation entre JavaScript et Browser. JavaScript est la langue principale du développement frontal. Il fonctionne directement dans le navigateur, rendant les pages Web vives et intéressantes. Vous êtes-vous déjà demandé pourquoi javascr

See all articles

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

<🎜>: Bubble Gum Simulator Infinity - Comment obtenir et utiliser les clés royales
3 Il y a quelques semainesBy尊渡假赌尊渡假赌尊渡假赌
Nordhold: Système de fusion, expliqué
3 Il y a quelques semainesBy尊渡假赌尊渡假赌尊渡假赌
Mandragora: Whispers of the Witch Tree - Comment déverrouiller le grappin
3 Il y a quelques semainesBy尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Navigateur d'examen sécurisé

Navigateur d'examen sécurisé

Safe Exam Browser est un environnement de navigation sécurisé permettant de passer des examens en ligne en toute sécurité. Ce logiciel transforme n'importe quel ordinateur en poste de travail sécurisé. Il contrôle l'accès à n'importe quel utilitaire et empêche les étudiants d'utiliser des ressources non autorisées.

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

Puissant environnement de développement intégré PHP

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

VSCode Windows 64 bits Télécharger

VSCode Windows 64 bits Télécharger

Un éditeur IDE gratuit et puissant lancé par Microsoft

MinGW - GNU minimaliste pour Windows

MinGW - GNU minimaliste pour Windows

Ce projet est en cours de migration vers osdn.net/projects/mingw, vous pouvez continuer à nous suivre là-bas. MinGW : un port Windows natif de GNU Compiler Collection (GCC), des bibliothèques d'importation et des fichiers d'en-tête librement distribuables pour la création d'applications Windows natives ; inclut des extensions du runtime MSVC pour prendre en charge la fonctionnalité C99. Tous les logiciels MinGW peuvent fonctionner sur les plates-formes Windows 64 bits.