На мой взгляд, 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
.