На мою думку, jQuery animate
трохи зловживають, порівняно з CSS3 transition
, який виконує таку анімацію на будь-яких 2D або 3D властивостях. Крім того, я боюся, що залишити це для браузера і забувши про шар, який називається JavaScript, може призвести до запасу соку процесора - особливо, коли ви хочете підірвати анімацію. Таким чином, мені подобається мати анімацію там, де є визначення стилів, оскільки ви визначаєте функціональність за допомогою JavaScript . Чим більше презентації ви введете в JavaScript, тим більше проблем ви зіткнетеся надалі.
Все, що вам потрібно зробити, це використовувати addClass
елемент, який ви хочете анімувати, де ви встановите клас, що має transition
властивості CSS . Ви просто "активуєте" анімацію , яка залишається реалізованою на чистому рівні презентації .
.js
$("#element").addClass("Animate");
document.getElementById("element").className += "Animate";
Можна легко видалити клас за допомогою jQuery або видалити клас без бібліотеки .
.css
#element{
color : white;
}
#element.Animate{
transition : .4s linear;
color : red;
-webkit-transform : rotate(90deg);
}
.html
<span id="element">
Text
</span>
Це швидке та зручне рішення для більшості випадків використання.
Я також використовую це, коли хочу застосувати інший стиль (альтернативні властивості CSS), і хочу змінити стиль на льоту з глобальною анімацією .5s. Я додаю новий клас до BODY
, маючи альтернативний CSS у такій формі:
.js
$("BODY").addClass("Alternative");
.css
BODY.Alternative #element{
color : blue;
transition : .5s linear;
}
Таким чином ви можете застосовувати різні стилі з анімацією, не завантажуючи різні файли CSS. Ви використовуєте JavaScript лише для встановлення class
.