113 of 119 menu

Metoda animate

Metoda animate permite crearea efectelor de animație pentru diverse proprietăți CSS. Singurul parametru obligatoriu - este obiectul cu proprietățile CSS, similar cu cel pe care îl transmitem metodei css. Multe proprietăți care au valori non-numerice sau mai multe valori nu pot fi animate cu funcționalitatea de bază jQuery (de exemplu background-color). De asemenea, nu întotdeauna sunt acceptate denumirile prescurtate ale proprietăților CSS, de exemplu font - în loc de aceasta trebuie utilizat fontSize sau font-size. Înaintea valorilor se poate pune '+=' sau '-=', în acest caz valoarea specificată ulterior va fi adăugată sau scăzută din valoarea curentă a proprietății. De asemenea, în loc de valori numerice se poate pune show, hide sau toggle. Toate efectele jQuery, inclusiv animate, pot fi dezactivate global, utilizând setarea jQuery.fx.off = true, care stabilește valoarea duratei la 0.

Sintaxă

Primul parametru al animației este obiectul cu proprietățile CSS și valorile acestora în formatul cheie: valoare, pe care intenționăm să le animăm. Restul parametrilor sunt considerați opționali. Al doilea parametru - determină durata animației în milisecunde, 400ms implicit. Al treilea parametru funcția de easing pentru tranziție (implicit este swing), și al patrulea - funcția callback, care se va executa după finalizarea animației:

.animate(proprietăți, [durată ], [funcția de easing ], [funcția callback ]);

Timpul poate fi setat nu doar în milisecunde, ci și prin cuvintele cheie slow (600ms) și fast (200ms), cu cât valoarea este mai mare, cu atât animația este mai lentă. Se poate transmite metodei ca al doilea parametru diverse opțiuni, sub formă de obiect JavaScript, conținând perechi cheie: valoare:

.animate(proprietăți, opțiuni);

De exemplu, să setăm pentru proprietățile CSS width și height valoarea toggle. Durata la 5000ms, funcțiile de easing le vom transmite sub formă de obiect, pentru lățime aceasta va fi funcția liniară, iar pentru înălțime - easeOutBounce, de asemenea la finalizarea animației se va executa o dată funcția (vezi cheia complete), care după elementul cu #test va plasa un div cu inscripția 'Animation complete.':

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

Mai jos în tabel sunt prezentate proprietățile și metodele obiectului options și descrierea acestora:

Denumire Descriere
duration Durata animației în milisecunde - șir de caractere sau număr. 400ms implicit.
easing Determină ce funcție de easing să utilizeze. swing implicit.
queue Valoare booleană sau șir de caractere. true implicit. Indică - să pună animația în coadă. La valoarea false animația va începe imediat. Dacă parametrul este transmis ca șir de caractere, atunci animația va fi pusă în coada, reprezentată de acest parametru. La utilizarea unei cozi cu denumire personalizată, animația nu va porni automat, pentru a o porni - utilizați dequeue('queuename').
specialEasing Aici puteți transmite un obiect, în care cheile vor fi proprietăți CSS, iar valorile - funcțiile de easing corespunzătoare acestora.
step Funcție, care este apelată pentru fiecare proprietate animată a fiecărui element animat. Ea permite modificarea obiectului Tween, pentru a modifica valoarea proprietății înainte ca aceasta să fie setată. Ca parametri acceptă valoarea curentă tween și obiectul Tween.
progress Funcție, apelată după fiecare pas al animației, doar o dată pentru fiecare element independent de numărul de proprietăți animate. Funcția acceptă trei parametri animation (sub formă de promisiune), progress (număr de la 0 la 1) și remainingMs (numărul de milisecunde rămase).
complete Funcție, apelată o dată după finalizarea animației elementului. Funcția acceptă animation (sub formă de promisiune).
start Funcție, care este apelată, când animația elementului începe. Funcția acceptă animation (sub formă de promisiune) și jumpedToEnd (Valoare booleană. Dacă true, atunci animația se termină automat).
done Funcție, care este apelată, când animația elementului se termină (promisiunea sa este îndeplinită cu succes). Funcția acceptă animation (sub formă de promisiune) și jumpedToEnd (Valoare booleană. Dacă true, atunci animația se termină automat).
fail Funcție, care este apelată, când animația elementului se termină cu eroare (promisiunea sa este îndeplinită cu eroare). Funcția acceptă animation (sub formă de promisiune) și jumpedToEnd (Valoare booleană. Dacă true, atunci animația se termină automat).
always Funcție, care este apelată, când animația elementului se termină sau este oprită fără finalizare (promisiunea sa este îndeplinită cu succes sau cu eroare). Funcția acceptă animation (sub formă de promisiune) și jumpedToEnd (Valoare booleană. Dacă true, atunci animația se termină automat).

Exemplu

Să la apăsarea butonului #left, să deplasăm pătratul verde spre stânga, iar la butonul #right spre dreapta cu 50px, de asemenea să setăm durata la 600ms - cu comanda slow:

<button id="left">stânga</button> <button id="right">dreapta</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'); });

Vezi și

  • metoda show,
    care afișează elementele cu efect de tranziție
  • metoda stop,
    care permite oprirea animației pornite
  • metoda delay,
    care stabilește întârzierea executării evenimentelor
  • proprietatea jQuery.fx.off,
    care permite dezactivarea globală a animației
  • selectorul animated,
    care selectează elementele, care în acest moment sunt implicate în animație
Română
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Folosim cookie pentru funcționarea site-ului, analiză și personalizare. Prelucrarea datelor are loc în conformitate cu Politica de confidențialitate.
acceptă toate configurează respinge