Animáció jquery nélkül - a web az élet
CSS animáció akkor kényelmes, ha kell, hogy a tulajdonságok az átmenet a stíluslap. Plusz, ezek azt mutatják, fantasztikus teljesítményt ki a dobozból - anélkül, hogy a könyvtár számára. Azonban, ha CSS átmeneteket a hatalom a gazdag design mozgás (mint látod a legújabb verzióit IOS és Android), amikor túlságosan nehéz kezelni, vagy funkció csak sypyatsya hibákat.
Velocity és GSAP
Ha jQuery van jelen az oldalán, a Velocity és a GSAP használatával ugyanúgy használhatja, mint az $ .anim () jQuery. Például: $ element.animate (
Ez a két könyvtár akkor is működik, amikor a jQuery nincs jelen az oldalon. Ez azt jelenti, hogy ahelyett, hogy az animációs hívást egy láncba az objektum jQuery elemébe kombinálnánk - amint azt egyszerűen bemutatjuk - a célelemet az animációs híváshoz továbbítanánk:
/ * Ezek az animációk automatikusan láncgá válnak. * /
sebesség # 40; elem. # 123; fényelnyelés. 0.5 # 125;. 1000 # 41; ;
sebesség # 40; elem. # 123; fényelnyelés. 1 # 125;. 1000 # 41; ;
Ennek az útvonalnak az animációja nincs teljesítményteljesítménnyel (egy elemet gyorsítótárat helyez el egy változóra, nem pedig egy lekérdezés ismételt lekérdezését választja).
(Tipp: A csomag Velocity a felületen, akkor létrehozhatunk saját animációk saját elosztási és nekik egyedi neveket, hogy lehet használni a jövőben, mint az első paraméter Velocity See UI Pack Velocity dokumentációjában talál ...)
A nagy sebességű hívásfeldolgozás - egyszeri, óriási előnye van: ha a Velocity animációival ígéretet használ, akkor minden Velocity hívás hatékony ígéretes objektumot ad vissza. Tudjon meg többet a Jake Archibald cikkében ígért ígéretekkel való munkáról. Hihetetlenül erősek.
A GSAP esetében kifejező objektumorientált API-ja lehetővé teszi, hogy animációit idősorra helyezze, így az ütemezés és a szinkronizálás vezérelhető. nem vagy csak láncszerű animációkra; Beillesztheti az idővonalakat, az animáció átfedését stb.
var tl = új TimelineMax # 40; # 41; ;
/ * A GSAP a közbenső kereteket az alapértelmezett láncba helyezi be, de megadhatja a pontos beillesztési pontokat az idővonalon, beleértve a relatív eltolást is. * /
tl
. hogy # 40; elem. 1. # 123; fényelnyelés. 0.5 # 125; # 41;
. hogy # 40; elem. 1. # 123; fényelnyelés. 1 # 125; # 41; ;
Az animáció lényegében egy kísérleti folyamat, amelyben időzítéssel és lazítással kell játszania, hogy megkapja a megfelelő érzést, amelyet az alkalmazásnak szüksége van. Természetesen, még ha figyelembe vesszük, hogy a design tökéletes, az ügyfél gyakran nem triviális változásokat kér. Ezekben a helyzetekben a kezelt munkafolyamatok fontosak.
Bár a CSS átmeneteket könnyű beilleszteni egy olyan projektbe, amely hatással van a lebegésre, akkor kezelhetetlenné válik, ha megpróbálkozik még mérsékelten összetett animációkkal. Ezért adja meg a CSS a kulcsfontosságú animációkat, amelyek lehetővé teszik az animációs logika szekciókba csoportosítását.
Azonban a kulcsfontosságú keret API alapvető hátránya, hogy meg kell határozni a partíciókat százalékban, amelyek nem intuitívak. Például:
@ kulcskeretek az énAnimációmban # 123;
0% # 123;
fényelnyelés. 0;
átalakítani. skála # 40; 0 # 41; ;
# 125;
25% # 123;
fényelnyelés. 1;
átalakítani. skála # 40; 1. 1 # 41; ;
# 125;
50% # 123;
átalakítani. fordít # 40; 100px. 0 # 41; ;
# 125;
100% # 123;
átalakítani. fordít # 40; 100px. 100px # 41; ;
# 125;
# 125;
#box # 123;
animáció. myAnimation 2.75s;
# 125;
Mi történik, ha az ügyfél kéri, hogy a fordítóX animációt egy másodpercig tartsa? Ez megköveteli a matematika helyreállítását és az összes (vagy a legtöbb) százalékváltozást.
A Velocity saját UI csomaggal rendelkezik. a multi-animáció bonyolultságával foglalkozik, és a GSAP kínálatlan ütemtervet kínál. Ezek a funkciók lehetővé teszik a munkafolyamat teljesen új jellemzőit.
De hagyjuk abba a prédikációt a műveletek áramlásáról és merüljünk el az animáció vicces példáihoz.
Fizikai eszköz mozgása a projekt ütközik alapelve, ami egy UX: interfészeket természetesen úszik a felhasználó által megadott - más szóval, interfészeket tartsák be a mozgását, így a valós világban.
A GSAP olyan fizikai plug-ineket kínál, amelyek alkalmazkodnak a felhasználói felület korlátozásaihoz. Például a ThrowPropsPlugin nyomon követi a felhasználó vagy az egér ujjának dinamikus sebességét, és amikor a felhasználó kiadja, a ThrowPropsPlugin kiválasztja a megfelelő sebességet, és az elem természetesen leáll. Az így létrejövő animáció egy szabványos közbenső keret, amelyet idővel lehet szabályozni (szüneteltetett, invertált stb.):
A Velocity rugalmassági fizikán alapuló egyszerűsítést kínál. Általában az opciók egyszerűsítésével jár az említett típusú egyszerűsítésben; például könnyű. könnyű-in-out vagy easeInOutSine. A rugalmasság fizikájával két elemet ad meg, amelyek a súrlódás erejét és értékeit tartalmazzák (az alábbi zárójelben):
sebesség # 40; elem. # 123; maradt. 500 # 125;. # 91; 500. 20 # 93; # 41; ; // 500 feszültség, 20 súrlódás
CSS animáció alakítjuk egyetlen komponens, a skála, a forradalom, forgatás és perspektivikus - tartalmazza egy CSS tulajdonság, és ezért nem lehet egymástól függetlenül animált különböző időtartamokat, a paraméterek és a késleltetés animáció.
Mind a Velocity, mind a GSAP lehetővé teszi, hogy egyénileg animálja a konvertáló komponenseket:
// GSAP
/ * Első animáció * /
TweenMax. hogy # 40; elem. 1. # 123; x. 500 # 125; # 41; ;
/ * Második (párhuzamos) animáció 500 ms * /
TweenMax. hogy # 40; elem. 2. # 123; forgatást. 45. késés. 0.5 # 125; # 41; ;