Table des matières
Ajouter animé à Ng-View
Ajouter animé à Ng-Repeat
Ajouter animé à ng-hide
Ajouter des commandes personnalisées animées
Conclusion
FAQ sur les animations javascript dans les applications angularjs (FAQ)
Comment créer des animations de base dans AngularJS?
Quels sont les composants clés de l'animation angularjs?
Comment contrôler l'heure de l'animation dans AngularJS?
Puis-je créer des animations dans AngularJS en utilisant JavaScript?
Comment animer les éléments lors de l'entrée ou de la sortie du Dom dans AngularJS?
Comment utiliser l'animation angularjs avec "Ng-Repeat"?
Puis-je utiliser AngularJS Animation avec "Ng-Switch"?
Comment utiliser l'animation AngularJs avec "Ng-View"?
Puis-je utiliser des animations AngularJS avec des directives personnalisées?
Comment déboguer AngularJs Animation?
Maison interface Web js tutoriel Animations javascript dans les applications angularjs

Animations javascript dans les applications angularjs

Feb 21, 2025 am 08:48 AM

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 de ce site Web
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

Outils d'IA chauds

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

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.

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

Guide de construction Mejiro Ryan | Uma musume joli derby
1 Il y a quelques mois By Jack chen
Rimworld Odyssey Comment pêcher
4 Il y a quelques semaines By Jack chen
Comment dépanner une erreur 'Connexion refusée'?
1 Il y a quelques mois By 百草

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Tutoriel PHP
1504
276
Comment faire une demande HTTP dans Node.js? Comment faire une demande HTTP dans Node.js? Jul 13, 2025 am 02:18 AM

Il existe trois façons courantes d'initier des demandes HTTP dans Node.js: utilisez des modules intégrés, Axios et Node-Fetch. 1. Utilisez le module HTTP / HTTPS intégré sans dépendances, ce qui convient aux scénarios de base, mais nécessite un traitement manuel de la couture des données et de la surveillance des erreurs, tels que l'utilisation de https.get () pour obtenir des données ou envoyer des demandes de post via .write (); 2.AXIOS est une bibliothèque tierce basée sur la promesse. Il a une syntaxe concise et des fonctions puissantes, prend en charge l'async / attendre, la conversion JSON automatique, l'intercepteur, etc. Il est recommandé de simplifier les opérations de demande asynchrones; 3.Node-Fetch fournit un style similaire à la récupération du navigateur, basé sur la promesse et la syntaxe simple

Types de données JavaScript: référence primitive vs Types de données JavaScript: référence primitive vs Jul 13, 2025 am 02:43 AM

Les types de données JavaScript sont divisés en types primitifs et types de référence. Les types primitifs incluent la chaîne, le nombre, le booléen, le nul, un non défini et le symbole. Les valeurs sont immuables et les copies sont copiées lors de l'attribution des valeurs, de sorte qu'elles ne se affectent pas; Les types de référence tels que les objets, les tableaux et les fonctions stockent les adresses de mémoire, et les variables pointant vers le même objet s'afferchent mutuellement. Le typeof et l'instance de OFF peuvent être utilisés pour déterminer les types, mais prêtent attention aux problèmes historiques de typeofnull. Comprendre ces deux types de différences peut aider à écrire un code plus stable et fiable.

Filtrage d'un tableau d'objets en JavaScript Filtrage d'un tableau d'objets en JavaScript Jul 12, 2025 am 03:14 AM

La méthode Filter () dans JavaScript est utilisée pour créer un nouveau tableau contenant tous les éléments de test de passage. 1.Filter () ne modifie pas le tableau d'origine, mais renvoie un nouveau tableau qui répond aux éléments conditionnels; 2. La syntaxe de base est array.filter ((élément) => {returnCondition;}); 3. Le tableau d'objets peut être filtré par valeur d'attribut, comme le filtrage des utilisateurs de plus de 30 ans; 4. Prise en charge du filtrage multi-conditions, comme remplir les conditions d'âge et de longueur de nom en même temps; 5. Peut gérer les conditions dynamiques et passer les paramètres du filtre dans les fonctions pour réaliser un filtrage flexible; 6. Lorsque vous l'utilisez, veillez à retourner les valeurs booléennes pour éviter de retourner des tableaux vides et combinez d'autres méthodes pour obtenir une logique complexe telle que la correspondance de chaînes.

Comment vérifier si un tableau comprend une valeur en javascript Comment vérifier si un tableau comprend une valeur en javascript Jul 13, 2025 am 02:16 AM

Dans JavaScript, vérifiez si un tableau contient une certaine valeur. La méthode la plus courante est Inclut (), qui renvoie une valeur booléenne et la syntaxe est Array.Cuecludes (ValueToFind), par exemple les fruits.Cuels («banane») Renvoie vrai; S'il doit être compatible avec l'ancien environnement, utilisez l'indexof (), comme nombres.indexof (20)! == - 1 Renvoie True; Pour les objets ou les données complexes, une méthode () doit être utilisée pour une comparaison approfondie, telles que les utilisateurs.Some (user => user.id === 1) renvoie true.

Le concept d'un dom virtuel expliqué dans le contexte javascript Le concept d'un dom virtuel expliqué dans le contexte javascript Jul 12, 2025 am 03:09 AM

Virtual Dom est un concept de programmation qui optimise les mises à jour réelles DOM. En créant une structure d'arbre correspondant au DOM réel en mémoire, il évite le fonctionnement fréquent et direct du DOM réel. Son principe de base est: 1. Générer un nouveau DOM virtuel lorsque les données changent; 2. Trouvez la plus petite différence entre les nouveaux et les anciens doms virtuels; 3. Mise à jour par lots du DOM réel pour réduire les frais généraux de réarrangement et de redémarrage. De plus, l'utilisation d'une clé stable unique peut améliorer l'efficacité de comparaison de la liste, tandis que certains cadres modernes ont adopté d'autres technologies pour remplacer le DOM virtuel.

Gestion des erreurs dans les fonctions JavaScript asynchrones / attendu Gestion des erreurs dans les fonctions JavaScript asynchrones / attendu Jul 12, 2025 am 03:17 AM

Pour gérer les erreurs dans les fonctions asynchrones, utilisez Try / Catch, gérez-les dans la chaîne d'appels, utilisez la méthode .catch () et écoutez les événements non performisés. 1. Utiliser Try / Catch pour attraper les erreurs est la méthode recommandée, avec une structure claire et peut gérer les exceptions en attente; 2. Les erreurs de traitement dans la chaîne d'appels peuvent être une logique centralisée, qui convient aux processus en plusieurs étapes; 3. Utilisez .Catch () pour attraper des erreurs après avoir appelé la fonction asynchrone, qui convient aux scénarios de combinaison de promesses; 4. Écoutez les événements de l'abri de la Fixation pour enregistrer les refus non performes comme la dernière ligne de défense; Les méthodes ci-dessus garantissent conjointement que les erreurs asynchrones sont correctement capturées et traitées.

Comment gérer les fuseaux horaires en JavaScript? Comment gérer les fuseaux horaires en JavaScript? Jul 11, 2025 am 02:41 AM

La clé pour traiter les problèmes de fuseau horaire JavaScript est de choisir la bonne méthode. 1. Lorsque vous utilisez des objets de date native, il est recommandé de stocker et de transférer dans le temps UTC et de le convertir au fuseau horaire local de l'utilisateur lors de l'affichage; 2. Pour les opérations de fuseau horaire complexes, le moment-temps peut être utilisé, qui prend en charge la base de données du fuseau horaire IANA et offre des fonctions de mise en forme et de conversion pratiques; 3. Si vous avez besoin de localiser l'heure d'affichage et que vous ne souhaitez pas introduire des bibliothèques tierces, vous pouvez utiliser intl.datetimeFormat; 4. Il est recommandé au jour moderne de la solution légère et du plug-in de solution légère et de fuseau horaire et UTC, qui a une API concise, de bonnes performances et prend en charge la conversion du fuseau horaire.

Qu'est-ce que la programmation fonctionnelle? Un tour-t-up JS des concepts de base Qu'est-ce que la programmation fonctionnelle? Un tour-t-up JS des concepts de base Jul 11, 2025 am 03:13 AM

FunctionalProgrammingInjavascriptEmphasizesClean, prédictioncodethroughcoreConcepts.1.purefonctionnement de la recherche de nom

See all articles