AngularJS Animasyonları
AngularJS, CSS'nin yardımıyla animasyonlu geçişler sağlar.
Animasyon nedir?
Animasyon, bir HTML öğesinin dönüştürülmesinin size bir hareket yanılsaması verdiği zamandır.
Örnek:
DIV'yi gizlemek için onay kutusunu işaretleyin:
<body ng-app="ngAnimate">
Hide the DIV: <input type="checkbox" ng-model="myCheck">
<div ng-hide="myCheck"></div>
</body>
Uygulamalar animasyonlarla doldurulmamalıdır, ancak bazı animasyonlar uygulamanın anlaşılmasını kolaylaştırabilir.
Neye ihtiyacım var?
Uygulamalarınızı animasyonlara hazır hale getirmek için AngularJS Animate kitaplığını eklemelisiniz:
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.9/angular-animate.js"></script>
Ardından ngAnimate
, uygulamanızdaki modüle başvurmalısınız:
<body ng-app="ngAnimate">
Veya uygulamanızın bir adı varsa, ngAnimate
uygulama modülünüze bağımlılık olarak ekleyin:
Örnek
<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>
ngAnimate Ne Yapar?
ngAnimate modülü, sınıfları ekler ve kaldırır.
ngAnimate modülü, HTML öğelerinizi canlandırmaz, ancak ngAnimate, bir HTML öğesinin gizlenmesi veya gösterilmesi gibi belirli olayları fark ettiğinde, öğe, animasyon yapmak için kullanılabilecek bazı önceden tanımlanmış sınıfları alır.
AngularJS'de sınıf ekleyen/kaldıran yönergeler şunlardır:
ng-show
ng-hide
ng-class
ng-view
ng-include
ng-repeat
ng-if
ng-switch
ve yönergeleri bir sınıf değeri ekler ng-show
veya ng-hide
kaldırır .ng-hide
Diğer yönergeler ng-enter
, DOM'a girdiklerinde bir sınıf değeri ve DOM'dan ng-leave
kaldırıldıklarında bir öznitelik ekler.
Yönerge , HTML öğesi konum değiştirdiğinde de bir sınıf değeri ng-repeat
ekler .ng-move
Ek olarak, animasyon sırasında HTML öğesi, animasyon bittiğinde kaldırılacak olan bir dizi sınıf değerine sahip olacaktır. Örnek:
ng-hide
yönerge şu sınıf değerlerini ekleyecektir:
ng-animate
ng-hide-animate
ng-hide-add
(eğer eleman gizlenecekse)ng-hide-remove
(eğer eleman gösterilecekse)ng-hide-add-active
(eğer eleman gizlenecekse)ng-hide-remove-active
(eğer eleman gösterilecekse)
CSS Kullanan Animasyonlar
HTML öğelerini canlandırmak için CSS geçişlerini veya CSS animasyonlarını kullanabiliriz. Bu eğitim size her ikisini de gösterecektir.
CSS Animasyonu hakkında daha fazla bilgi edinmek için CSS Geçiş Eğitimimizi ve CSS Animasyon Eğitimimizi inceleyin .
CSS Geçişleri
CSS geçişleri, belirli bir süre boyunca CSS özellik değerlerini bir değerden diğerine sorunsuz bir şekilde değiştirmenize olanak tanır:
Örnek:
DIV öğesi sınıfı aldığında, .ng-hide
geçiş 0,5 saniye sürecek ve yükseklik 100 pikselden 0 piksele sorunsuz bir şekilde değişecek:
<style>
div {
transition: all linear 0.5s;
background-color: lightblue;
height: 100px;
}
.ng-hide
{
height: 0;
}
</style>
CSS Animasyonları
CSS Animasyonları, belirli bir süre boyunca CSS özellik değerlerini bir değerden diğerine sorunsuz bir şekilde değiştirmenize olanak tanır:
Örnek:
.ng-hide
DIV öğesi sınıfı aldığında, myChange
yüksekliği sorunsuz bir şekilde 100 pikselden 0'a değiştirecek olan animasyon çalışır:
<style>
@keyframes myChange {
from {
height: 100px;
} to {
height: 0;
}
}
div {
height: 100px;
background-color: lightblue;
}
div.ng-hide {
animation: 0.5s myChange;
}
</style>