Animation AngularJS
AngularJS fournit des effets d'animation qui peuvent être utilisés avec CSS.
Pour utiliser l'animation dans AngularJS, vous devez importer la bibliothèque angulaire-animate.min.js.
<script src="http://apps.bdimg.com/libs/angular.js/1.4.6/angular-animate.min.js"></script>
Vous devez également utiliser le modèle ngAnimate dans votre application :
<body ng-app="ngAnimate">
Qu'est-ce que l'animation ?
L'animation est un effet dynamique produit en modifiant les éléments HTML.
Instance
Cochez la case pour masquer le DIV :
Instance
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <style> div { transition: all linear 0.5s; background-color: lightblue; height: 100px; width: 100%; position: relative; top: 0; left: 0; } .ng-hide { height: 0; width: 0; background-color: transparent; top:-200px; left: 200px; } </style> <script src="//cdn.bootcss.com/angular.js/1.4.6/angular.min.js"></script> <script src="//cdn.bootcss.com/angular.js/1.4.6/angular-animate.min.js"></script> </head> <body ng-app="ngAnimate"> <h1>隐藏 DIV: <input type="checkbox" ng-model="myCheck"></h1> <div ng-hide="myCheck"></div> </body> </html>
Exécuter l'instance»
Cliquez sur le bouton « Exécuter l'instance » pour afficher l'instance en ligne
![]() | 应用中动画不宜太多,但合适的使用动画可以增加页面的丰富性,也可以更易让用户理解。 |
---|
Si notre application a défini un nom d'application, nous pouvons ajouter ngAnimate directement au modèle :
Instance
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <style> div { transition: all linear 0.5s; background-color: lightblue; height: 100px; width: 100%; position: relative; top: 0; left: 0; } .ng-hide { height: 0; width: 0; background-color: transparent; top:-200px; left: 200px; } </style> <script src="//cdn.bootcss.com/angular.js/1.4.6/angular.min.js"></script> <script src="//cdn.bootcss.com/angular.js/1.4.6/angular-animate.min.js"></script> </head> <body ng-app="myApp"> <h1>隐藏 DIV: <input type="checkbox" ng-model="myCheck"></h1> <div ng-hide="myCheck"></div> <script> var app = angular.module('myApp', ['ngAnimate']); </script> </body> </html>
Exécuter l'instance»
Cliquez sur le bouton « Exécuter l'instance » pour voir l'exemple en ligne
Que fait ngAnimate ?
Le modèle ngAnimate peut ajouter ou supprimer des classes.
Le modèle ngAnimate ne peut pas animer les éléments HTML, mais ngAnimate surveillera les événements, tels que le masquage et l'affichage des éléments HTML. Si un événement se produit, ngAnimate utilisera une classe prédéfinie pour animer les éléments HTML.
Instructions AngularJS pour ajouter/supprimer des classes :
ng-show
ng-hide
ng-class
ng-view
ng-include
ng-repeat
ng-if
ng-switch
ng-show
et Les directives ng-hide
sont utilisées pour ajouter ou supprimer des valeurs de la classe ng-hide
.
D'autres instructions ajouteront la classe ng-enter
lors de la saisie du DOM, et l'attribut ng-leave
sera ajouté lors de la suppression du DOM.
Lorsque la position de l'élément HTML change, la directive ng-repeat
peut également ajouter la classe ng-move
.
De plus, la collection de classes de l'élément HTML sera supprimée une fois l'animation terminée. Par exemple : La commande ng-hide
ajoutera la classe suivante :
ng-animate
ng-hide-animate
-
ng-hide-add
(si l'élément sera masqué) ng-hide-remove
(si l'élément sera affiché)ng-hide-add-active
(Si l'élément sera masqué)ng-hide-remove-active
(Si l'élément sera affiché)
Utiliser les animations CSS
Nous pouvons utiliser la transition CSS ou l'animation CSS pour animer des éléments HTML. Pour cette partie, vous pouvez vous référer à notre tutoriel de transition CSS et notre tutoriel d'animation CSS.
Transition CSS
La transition CSS nous permet de changer en douceur une valeur de propriété CSS en une autre :
Exemple
Lorsque le DIV l'élément est défini sur la classe .ng-hide
, la transition prend 0,5 seconde et la hauteur passe de 100px à 0 :
Instance
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <style> div { transition: all linear 0.5s; background-color: lightblue; height: 100px; } .ng-hide { height: 0; } </style> <script src="//cdn.bootcss.com/angular.js/1.4.6/angular.min.js"></script> <script src="//cdn.bootcss.com/angular.js/1.4.6/angular-animate.min.js"></script> </head> <body ng-app="myApp"> <h1>隐藏 DIV: <input type="checkbox" ng-model="myCheck"></h1> <div ng-hide="myCheck"></div> <script> var app = angular.module('myApp', ['ngAnimate']); </script> </body> </html>
Exécuter l'instance»
Cliquez sur le bouton "Exécuter l'instance" pour afficher l'instance en ligne
Animation CSS
L'animation CSS vous permet de modifier Propriétés CSS en douceur Valeur :
Instance
Lorsque la classe .ng-hide
est définie sur l'élément DIV, l'animation myChange
sera exécutée et la hauteur changera en douceur de 100px à 0 :
Instance
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <style> @keyframes myChange { from { height: 100px; } to { height: 0; } } div { height: 100px; background-color: lightblue; } div.ng-hide { animation: 0.5s myChange; } </style> <script src="//cdn.bootcss.com/angular.js/1.4.6/angular.min.js"></script> <script src="//cdn.bootcss.com/angular.js/1.4.6/angular-animate.min.js"></script> </head> <body ng-app="ngAnimate"> 隐藏 DIV: <input type="checkbox" ng-model="myCheck"> <div ng-hide="myCheck"> </div> </body> </html>
Exécuter l'instance »
Cliquez sur le bouton « Exécuter l'instance » pour afficher l'instance en ligne