113 of 119 menu

Методот animate

Методот animate овозможува создавање на анимациски ефекти за различни CSS-својства. Единственот задолжителен параметар - објект со CSS-својства, сличен на оној што го пренесуваме во методот css. Многу својства кои имаат не-нумерички вредности или неколку вредности не можат да се анимираат со основниот функционалност на jQuery (на пример background-color). Исто така, не секогаш се поддржуваат скратени имиња на CSS-својства, на пример font - наместо тоа треба да се користи fontSize или font-size. Пред вредностите може да се стави '+=' или '-=', во тој случај наведената вредност ќе се додаде или ќе се одземе од тековната вредност на својството. Исто така, наместо нумерички вредности може да се стави show, hide или toggle. Сите jQuery ефекти, вклучувајќи го и animate, можат да се оневозможат глобално, користејќи ја поставката jQuery.fx.off = true, која ја поставува вредноста на времетраењето на 0.

Синтакса

Како прв параметар на анимацијата се пренесува објект со CSS-својства и нивните вредности во формат клуч: вредност, кои сакаме да ги анимираме. Останатите параметри се сметаат за незадолжителни. Вториот параметар - ја одредува времетраењето на анимацијата во милисекунди, 400ms по стандард. Третиот параметар е функцијата за мазност на преминот (по стандард ова е swing), како и четвртиот - callback-функција, која ќе се стартува по завршувањето на анимацијата:

.animate(својства, [времетраење ], [функција за мазност ], [callback-функција ]);

Времето може да се зададе не само во милисекунди, туку и со клучни зборови slow (600ms) и fast (200ms), колку е поголема вредноста, толку е побавна анимацијата. Може како втор параметар да му се пренесат на методот различни опции, во вид на JavaScript објект, кој содржи парови клуч: вредност:

.animate(својства, options);

На пример, да ги поставиме за CSS-својствата width и height вредноста toggle. Времетраењето на 5000ms, функциите за мазност ќе ги пренесеме во вид на објект, за ширината тоа ќе биде линеарна функција, а за висината - easeOutBounce, исто така по завршувањето на анимацијата ќе се изврши еднаш функцијата (види клуч complete), која по елементот со #test ќе постави div со натпис 'Animation complete.':

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

Подолу во табелата се дадени својствата и методите на објектот options и нивниот опис:

Име Опис
duration Времетраење на анимацијата во милисекунди - стринг или број. 400ms по стандард.
easing Одредува која функција за мазност да се користи. swing по стандард.
queue Булова вредност или стринг. true по стандард. Означува дали да се стави анимацијата во редот за чекање. Со вредност false анимацијата ќе започне веднаш. Ако параметарот се пренесе како стринг, тогаш анимацијата ќе се стави во редот за чекање, претставен со овој параметар. При користење на ред со корисничко име, анимацијата нема да започне автоматски, за да се стартува - користете dequeue('queuename').
specialEasing Овде можете да пренесете објект, во кој клучевите ќе бидат CSS-својства, а вредностите - соодветните нив функции за мазност.
step Функција, која се повикува за секое анимирано својство на секој анимиран елемент. Таа овозможува модификација на Tween објектот, за да се промени вредноста на својството пред да се постави. Како параметри прифаќа тековна вредност на tween и Tween објект.
progress Функција, која се повикува по секој чекор на анимацијата, само по еднаш за секој елемент независно од бројот на анимирани својства. Функцијата прифаќа три параметри animation (во вид на ветување), progress (број од 0 до 1) и remainingMs (број на преостанати милисекунди).
complete Функција, која се повикува еднаш по завршувањето на анимацијата на елементот. Функцијата прифаќа animation (во вид на ветување).
start Функција, која се повикува кога анимацијата на елементот започнува. Функцијата прифаќа animation (во вид на ветување) и jumpedToEnd (Булова вредност. Ако true, тогаш анимацијата автоматски завршува).
done Функција, која се повикува кога анимацијата на елементот завршува (нејзиното ветување е исполнето успешно). Функцијата прифаќа animation (во вид на ветување) и jumpedToEnd (Булова вредност. Ако true, тогаш анимацијата автоматски завршува).
fail Функција, која се повикува кога анимацијата на елементот завршува со грешка (нејзиното ветување е исполнето со грешка). Функцијата прифаќа animation (во вид на ветување) и jumpedToEnd (Булова вредност. Ако true, тогаш анимацијата автоматски завршува).
always Функција, која се повикува кога анимацијата на елементот завршува или запира без завршување (нејзиното ветување е исполнето успешно или со грешка). Функцијата прифаќа animation (во вид на ветување) и jumpedToEnd (Булова вредност. Ако true, тогаш анимацијата автоматски завршува).

Пример

Ајде при кликнување на копчето #left, да го поместиме зелениот квадрат налево, а на копчето #right надесно за 50px, исто така да го поставиме времетраењето на 600ms - со командата slow:

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

Погледнете ги и

  • методот show,
    кој мазно ги прикажува елементите
  • методот stop,
    кој овозможува да се запре стартуваната анимација
  • методот delay,
    кој поставува одложување на извршувањето на настаните
  • својството jQuery.fx.off,
    кое овозможува глобално да се оневозможи анимацијата
  • селекторот animated,
    кој ги избира елементите, кои во даден момент се вклучени во анимација
Македонски
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Ние користиме колачиња за работата на веб-страната, анализа и персонализација. Обработката на податоци се врши во согласност со Политиката за приватност.
прифати ги сите прилагоди одбиј