113 of 119 menu

Metode animate

Metode animate ļauj izveidot animācijas efektus dažādām CSS-īpašībām. Vienīgais obligātais parametrs - objekts ar CSS-īpašībām, līdzīgs tam, ko mēs nododam metodē css. Daudzas īpašības, kurām ir neskaitliskas vērtības vai vairākas vērtības, nevar tikt animētas ar jQuery pamatfunkcionalitāti (piemēram, background-color). Tāpat ne vienmēr tiek atbalstīti saīsinātie CSS-īpašību nosaukumi, piemēram, font - tā vietā jāizmanto fontSize vai font-size. Pirms vērtībām var likt '+=' vai '-=', tādā gadījumā norādītā vērtība tiks pieskaitīta vai atņemta no īpašības pašreizējās vērtības. Tāpat skaitlisko vērtību vietā var likt show, hide vai toggle. Visus jQuery efektus, ieskaitot animate, var globāli atslēgt, izmantojot iestatījumu jQuery.fx.off = true, kas nosaka ilguma vērtību uz 0.

Sintakse

Pirmais animācijas parametrs ir objekts ar CSS-īpašībām un to vērtībām formātā atslēga: vērtība, kuras mēs vēlamies animēt. Pārējie parametri tiek uzskatīti par neobligātiem. Otrais parametrs - nosaka animācijas ilgumu milisekundēs, 400ms pēc noklusējuma. Trešais parametrs ir gluduma funkcija pārejai (pēc noklusējuma tas ir swing), un ceturtais - callback-funkcija, kas tiks palaista pēc animācijas pabeigšanas:

.animate(īpašības, [ilgums ], [gluduma funkcija ], [callback-funkcija ]);

Laiku var norādīt ne tikai milisekundēs, bet arī ar atslēgvārdiem slow (600ms) un fast (200ms), jo lielāka vērtība, jo lēnāka animācija. Otro parametru var nodot metodē dažādas opcijas, JavaScript objekta veidā, kas satur pārus atslēga: vērtība:

.animate(īpašības, opcijas);

Piemēram, iestatīsim CSS-īpašībām width un height vērtību toggle. Ilgumu uz 5000ms, gluduma funkcijas nodosim objekta veidā, platumam tā būs lineāra funkcija, bet augstumam - easeOutBounce, tāpat pēc animācijas pabeigšanas mums vienreiz izpildīsies funkcija (sk. atslēgu complete), kas aiz elementa ar #test ievietos div ar uzrakstu 'Animation complete.':

$('#test').animate({ width: 'toggle', height: 'toggle' }, { duration: 5000, specialEasing: { width: 'linear', height: 'easeOutBounce' }, complete: function() { $(this).after('<div>Animation complete.</div>'); } });

Zemāk tabulā norādītas objekta options īpašības un metodes un to apraksts:

Nosaukums Apraksts
duration Animācijas ilgums milisekundēs - virkne vai skaitlis. 400ms pēc noklusējuma.
easing Nosaka, kādu gluduma funkciju izmantot. swing pēc noklusējuma.
queue Būla vērtība vai virkne. true pēc noklusējuma. Norāda - vai ievietot animāciju rindā. Pie vērtības false animācija sāksies nekavējoties. Ja parametru nodod kā virkni, tad animācija tiks ievietota rindā, ko attēlo šis parametrs. Izmantojot rindu ar pielāgotu nosaukumu, animācija nepalaisies automātiski, lai to palaistu - izmantojiet dequeue('queuename').
specialEasing Šeit varat nodot objektu, kurā atslēgas būs CSS-īpašības, un vērtības - atbilstošās glas gluduma funkcijas.
step Funkcija, kas tiek izsaukta katrai animētajai īpašībai katram animētajam elementam. Tā ļauj modificēt Tween objektu, lai mainītu vērtību īpašībai pirms tās iestatīšanas. Kā parametrus pieņem pašreizējo tween vērtību un Tween objektu.
progress Funkcija, kas tiek izsaukta pēc katra animācijas soļa, tikai vienu reizi katram elementam neatkarīgi no animēto īpašību skaita. Funkcija pieņem trīs parametrus animation (kā promise), progress (skaitlis no 0 līdz 1) un remainingMs (atlikušo milisekunžu skaits).
complete Funkcija, kas tiek izsaukta vienreiz pēc elementa animācijas pabeigšanas. Funkcija pieņem animation (kā promise).
start Funkcija, kas tiek izsaukta, kad elementa animācija sākas. Funkcija pieņem animation (kā promise) un jumpedToEnd (Būla vērtība. Ja true, tad animācija automātiski pabeidzas).
done Funkcija, kas tiek izsaukta, kad elementa animācija pabeidzas (tās promise ir izpildīts veiksmīgi). Funkcija pieņem animation (kā promise) un jumpedToEnd (Būla vērtība. Ja true, tad animācija automātiski pabeidzas).
fail Funkcija, kas tiek izsaukta, kad elementa animācija pabeidzas ar kļūdu (tās promise izpildīts ar kļūdu). Funkcija pieņem animation (kā promise) un jumpedToEnd (Būla vērtība. Ja true, tad animācija automātiski pabeidzas).
always Funkcija, kas tiek izsaukta, kad elementa animācija pabeidzas vai apstājas bez pabeigšanas (tās promise izpildīts veiksmīgi vai ar kļūdu). Funkcija pieņem animation (kā promise) un jumpedToEnd (Būla vērtība. Ja true, tad animācija automātiski pabeidzas).

Piemērs

Kad noklikšķina uz pogas #left, pārvietosim zaļo kvadrātu pa kreisi, bet uz pogas #right pa labi par 50px, arī iestatīsim ilgumu uz 600ms - ar komandu slow:

<button id="left">pa kreisi</button> <button id="right">pa labi</button> <div class="block"></div> div { position: absolute; background-color: green; left: 50px; width: 100px; height: 100px; margin: 5px; } $('#right').click(function() { $('.block').animate({'left': '+=50px'}, 'slow'); }); $('#left').click(function() { $('.block').animate({'left': '-=50px'}, 'slow'); });

Skatiet arī

  • metode show,
    kas vienmērīgi parāda elementus
  • metode stop,
    kas ļauj apturēt palaisto animāciju
  • metode delay,
    kas iestata notikumu izpildes aizkavi
  • īpašība jQuery.fx.off,
    kas ļauj globāli atslēgt animāciju
  • selektors animated,
    kas izvēlas elementus, kuri šobrīd tiek izmantoti animācijā
Latviešu
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Mēs izmantojam sīkdatnes, lai nodrošinātu vietnes darbību, analīti un personalizāciju. Datu apstrāde notiek saskaņā ar Konfidencialitātes politiku.
pieņemt visus iestatīt noraidīt