Moim zdaniem jQuery animate
jest nieco nadużywany w porównaniu do CSS3 transition
, który wykonuje taką animację na dowolnej właściwości 2D lub 3D. Obawiam się również, że pozostawienie tego przeglądarce i zapomnienie o warstwie o nazwie JavaScript może doprowadzić do zaoszczędzenia mocy procesora - szczególnie, gdy chcesz się bawić animacjami. Dlatego lubię mieć animacje, w których są definicje stylów, ponieważ definiuje się funkcjonalność za pomocą JavaScript . Im więcej prezentacji wprowadzisz do JavaScript, tym więcej problemów napotkasz później.
Wszystko, co musisz zrobić, to użyć addClass
elementu, który chcesz animować, gdzie ustawiasz klasę, która ma transition
właściwości CSS . Po prostu „aktywujesz” animację , która pozostaje zaimplementowana na warstwie czystej prezentacji .
.js
$("#element").addClass("Animate");
document.getElementById("element").className += "Animate";
Można łatwo usunąć klasę za pomocą jQuery lub usunąć klasę bez biblioteki .
.css
#element{
color : white;
}
#element.Animate{
transition : .4s linear;
color : red;
-webkit-transform : rotate(90deg);
}
.html
<span id="element">
Text
</span>
Jest to szybkie i wygodne rozwiązanie w większości przypadków użycia.
Używam tego również, gdy chcę zaimplementować inny styl (alternatywne właściwości CSS) i chcę zmienić styl w locie za pomocą globalnej animacji .5s. Dodaję nową klasę do pliku BODY
, mając alternatywny CSS w takiej postaci:
.js
$("BODY").addClass("Alternative");
.css
BODY.Alternative #element{
color : blue;
transition : .5s linear;
}
W ten sposób możesz zastosować różne style z animacjami, bez ładowania różnych plików CSS. Używasz JavaScript tylko do ustawienia pliku class
.