Bence animatejQuery'ler, transitionherhangi bir 2D veya 3D özellikte bu tür bir animasyonu gerçekleştiren CSS3'e kıyasla biraz fazla kullanılıyor . Ayrıca korkarım ki, tarayıcıya bırakıp JavaScript adlı katmanı unutarak, özellikle animasyonlarla patlama yapmak istediğinizde, yedek CPU suyuna yol açabilir . Bu nedenle, JavaScript ile işlevselliği tanımladığınız için stil tanımlarının olduğu animasyonlara sahip olmayı seviyorum . JavaScript'e ne kadar çok sunum eklerseniz, daha sonra o kadar çok sorunla karşılaşacaksınız.
Yapmanız gereken tek şey, addClassCSS transitionözelliklerine sahip bir sınıf belirlediğiniz, canlandırmak istediğiniz öğeyi kullanmaktır . Sen sadece animasyon "aktive" kalır, saf sunum katmanında uygulanan .
.js
$("#element").addClass("Animate");
document.getElementById("element").className += "Animate";
JQuery ile bir sınıf kolaylıkla kaldırılabilir veya kitaplık olmadan bir sınıf kaldırılabilir .
.css
#element{
color : white;
}
#element.Animate{
transition : .4s linear;
color : red;
-webkit-transform : rotate(90deg);
}
.html
<span id="element">
Text
</span>
Bu, çoğu kullanım durumu için hızlı ve kullanışlı bir çözümdür.
Bunu, farklı bir stil (alternatif CSS özellikleri) uygulamak istediğimde ve stili anında global bir .5s animasyonuyla değiştirmek istediğimde de kullanıyorum. Şu şekilde bir BODYalternatif CSS'ye sahipken öğesine yeni bir sınıf ekliyorum :
.js
$("BODY").addClass("Alternative");
.css
BODY.Alternative #element{
color : blue;
transition : .5s linear;
}
Bu şekilde, farklı CSS dosyaları yüklemeden animasyonlarla farklı stiller uygulayabilirsiniz. Bir class.