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-ўласцівасцямі і іх значэннямі ў фармаце ключ: значэнне, якія мы збіраемся анімаваць. Астатнія параметры лічацца неабавязковымі. Другі параметр - вызначае працягласць анімацыі ў мілісекундах, 400мс па змаўчанні. Трэцім параметрам функцыю плаўнасці для пераходу (па змаўчанні гэта swing), а таксама чацвёртым - callback-функцыя, якая запусціцца пасля выканання анімацыі:

.animate(уласцівасці, [працягласць ], [функцыя плаўнасці ], [callback-функцыя ]);

Час можна задаваць не толькі ў мілісекундах, але і ключавымі словамі slow (600мс) і fast (200мс), чым больш значэнне, тым павольней анімацыя. Можна другім параметрам перадаць метаду розныя опцыі, у выглядзе аб'екта JavaScript, які змяшчае пары ключ: значэнне:

.animate(уласцівасці, options);

Напрыклад, усталюем для CSS-ўласцівасцей width і height значэнне toggle. Працягласць на 5000мс, функцыі плаўнасці перададзім у выглядзе аб'екта, для шырыні гэта будзе лінейная функцыя, а для вышыні - easeOutBounce, таксама па завяршэнні анімацыі ў нас адзін раз выканаецца функцыя (гл. ключ complete), якая пасля элемента з #test размясціць дыў з надпісам '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 Працягласць анімацыі ў мілісекундах - радок або лік. 400мс па змаўчанні.
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, таксама ўсталюем працягласць на 600мс - камандай 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šuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Мы выкарыстоўваем cookie для працы сайта, аналітыкі і персаналізацыі. Апрацоўка дадзеных адбываецца згодна Палітыкай канфідэнцыяльнасці.
прыняць усе наладзіць адхіліць