AngularJS-animasies
AngularJS bied geanimeerde oorgange, met hulp van CSS.
Wat is 'n animasie?
'n Animasie is wanneer die transformasie van 'n HTML-element jou 'n illusie van beweging gee.
Voorbeeld:
Merk die merkblokkie om die DIV te versteek:
<body ng-app="ngAnimate">
Hide the DIV: <input type="checkbox" ng-model="myCheck">
<div ng-hide="myCheck"></div>
</body>
Aansoeke moet nie met animasies gevul word nie, maar sommige animasies kan die toepassing makliker maak om te verstaan.
Wat het ek nodig?
Om jou toepassings gereed te maak vir animasies, moet jy die AngularJS Animate-biblioteek insluit:
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.9/angular-animate.js"></script>
Dan moet jy na die ngAnimate
module in jou aansoek verwys:
<body ng-app="ngAnimate">
Of as jou aansoek 'n naam het, voeg by ngAnimate
as 'n afhanklikheid in jou toepassingsmodule:
Voorbeeld
<body ng-app="myApp">
<h1>Hide the DIV: <input type="checkbox" ng-model="myCheck"></h1>
<div ng-hide="myCheck"></div>
<script>
var app =
angular.module('myApp', ['ngAnimate']);
</script>
Wat doen ngAnimate?
Die ngAnimate-module voeg klasse by en verwyder.
Die ngAnimate-module animeer nie jou HTML-elemente nie, maar wanneer ngAnimate sekere gebeurtenisse opmerk, soos versteek of wys van 'n HTML-element, kry die element 'n paar vooraf gedefinieerde klasse wat gebruik kan word om animasies te maak.
Die riglyne in AngularJS wat klasse byvoeg/verwyder, is:
ng-show
ng-hide
ng-class
ng-view
ng-include
ng-repeat
ng-if
ng-switch
Die ng-show
en - ng-hide
aanwysings voeg 'n klaswaarde by of verwyder ng-hide
.
Die ander riglyne voeg 'n ng-enter
klaswaarde by wanneer hulle die DOM betree, en 'n ng-leave
kenmerk wanneer hulle uit die DOM verwyder word.
Die ng-repeat
opdrag voeg ook 'n ng-move
klaswaarde by wanneer die HTML-element van posisie verander.
Daarbenewens, tydens die animasie, sal die HTML-element 'n stel klaswaardes hê, wat verwyder sal word wanneer die animasie klaar is. Voorbeeld: die
ng-hide
opdrag sal hierdie klaswaardes byvoeg:
ng-animate
ng-hide-animate
ng-hide-add
(as die element versteek sal word)ng-hide-remove
(as die element gewys sal word)ng-hide-add-active
(as die element versteek sal word)ng-hide-remove-active
(as die element gewys sal word)
Animasies met behulp van CSS
Ons kan CSS-oorgange of CSS-animasies gebruik om HTML-elemente te animeer. Hierdie handleiding sal jou albei wys.
Om meer te wete te kom oor CSS-animasie, bestudeer ons CSS-oorgangstutoriaal en ons CSS-animasie-tutoriaal .
CSS-oorgange
CSS-oorgange laat jou toe om CSS-eiendomwaardes glad te verander, van een waarde na 'n ander, oor 'n gegewe tydsduur:
Voorbeeld:
Wanneer die DIV-element die .ng-hide
klas kry, sal die oorgang 0,5 sekondes neem, en die hoogte sal glad verander van 100px na 0:
<style>
div {
transition: all linear 0.5s;
background-color: lightblue;
height: 100px;
}
.ng-hide
{
height: 0;
}
</style>
CSS-animasies
CSS Animations laat jou toe om CSS eiendom waardes glad te verander, van een waarde na 'n ander, oor 'n gegewe tydsduur:
Voorbeeld:
Wanneer die DIV-element die .ng-hide
klas kry, myChange
sal die animasie loop, wat die hoogte glad sal verander van 100px na 0:
<style>
@keyframes myChange {
from {
height: 100px;
} to {
height: 0;
}
}
div {
height: 100px;
background-color: lightblue;
}
div.ng-hide {
animation: 0.5s myChange;
}
</style>