113 of 119 menu

Metoden animate

Metoden animate låter dig skapa animeringseffekter för olika CSS-egenskaper. Den enda obligatoriska parametern är ett objekt med CSS-egenskaper, liknande det vi skickar till metoden css. Många egenskaper som har icke-numeriska värden eller flera värden kan inte animeras av jQuerys grundfunktionalitet (till exempel background-color). Förkortade namn på CSS-egenskaper stöds inte heller alltid, till exempel font - istället bör du använda fontSize eller font-size. Före värden kan du sätta '+=' eller '-=', i så fall kommer det angivna värdet att läggas till eller dras av från egenskapens nuvarande värde. Istället för numeriska värden kan du även sätta show, hide eller toggle. Alla jQuery-effekter, inklusive animate, kan stängas av globalt genom att använda inställningen jQuery.fx.off = true, vilket sätter värdet på varaktigheten till 0.

Syntax

Den första parametern för animationen är ett objekt med CSS-egenskaper och deras värden i formatet nyckel: värde, som vi tänker animera. De övriga parametrarna anses vara frivilliga. Den andra parametern - bestämmer animationens varaktighet i millisekunder, 400ms som standard. Den tredje parametern är en easing-funktion för övergången (standard är swing), och den fjärde - en callback-funktion som aktiveras efter att animationen är klar:

.animate(egenskaper, [varaktighet ], [easing-funktion ], [callback-funktion ]);

Tid kan anges inte bara i millisekunder, utan också med nyckelorden slow (600ms) och fast (200ms), ju högre värde, desto långsammare animation. Du kan skicka olika alternativ till metoden som en andra parameter, i form av ett JavaScript-objekt, innehållande par av nyckel: värde:

.animate(egenskaper, alternativ);

Till exempel, låt oss sätta CSS-egenskaperna width och height till värdet toggle. Varaktigheten till 5000ms, vi skickar easing-funktioner som ett objekt, för bredd blir det en linjär funktion, och för höjd - easeOutBounce, också när animationen är klar kommer en funktion att köras en gång (se nyckeln complete), som efter elementet med #test placerar en div med texten 'Animation complete.':

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

I tabellen nedan finns egenskaper och metoder för objektet options och deras beskrivning:

Namn Beskrivning
duration Animationens varaktighet i millisekunder - sträng eller nummer. 400ms som standard.
easing Bestämmer vilken easing-funktion som ska användas. swing som standard.
queue Booleskt värde eller sträng. true som standard. Anger om animationen ska sättas i kö. Med värdet false startar animationen omedelbart. Om parametern skickas som en sträng, kommer animationen att sättas i kön som representeras av denna parameter. När en kö med ett anpassat namn används, startar inte animationen automatiskt, för att starta den - använd dequeue('queuename').
specialEasing Här kan du skicka ett objekt, där nycklarna är CSS-egenskaper, och värdena - deras motsvarande easing-funktioner.
step En funktion som anropas för varje animerad egenskap för varje animerat element. Den låter dig modifiera Tween-objektet för att ändra värdet på egenskapen innan det sätts. Som parametrar tar det det aktuella värdet av tween och Tween-objektet.
progress En funktion som anropas efter varje steg i animationen, bara en gång per element oavsett antal animerade egenskaper. Funktionen tar tre parametrar animation (som ett promise), progress (nummer från 0 till 1) och remainingMs (antal återstående millisekunder).
complete En funktion som anropas en gång efter avslutad animation av elementet. Funktionen tar animation (som ett promise).
start En funktion som anropas när animationen av elementet börjar. Funktionen tar animation (som ett promise) och jumpedToEnd (Booleskt värde. Om true, så avslutas animationen automatiskt).
done En funktion som anropas när animationen av elementet avslutas (dess promise uppfylldes framgångsrikt). Funktionen tar animation (som ett promise) och jumpedToEnd (Booleskt värde. Om true, så avslutas animationen automatiskt).
fail En funktion som anropas när animationen av elementet avslutas med ett fel (dess promise uppfylldes med ett fel). Funktionen tar animation (som ett promise) och jumpedToEnd (Booleskt värde. Om true, så avslutas animationen automatiskt).
always En funktion som anropas när animationen av elementet avslutas eller stoppas utan att slutföras (dess promise uppfylldes framgångsrikt eller med fel). Funktionen tar animation (som ett promise) och jumpedToEnd (Booleskt värde. Om true, så avslutas animationen automatiskt).

Exempel

Låt oss, när knappen #left trycks ned, flytta den gröna kvadraten åt vänster, och knappen #right åt höger med 50px, vi sätter också varaktigheten till 600ms - med kommandot slow:

<button id="left">vänster</button> <button id="right">höger</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'); });

Se även

  • metoden show,
    som jämnt visar element
  • metoden stop,
    som låter dig stoppa en påbörjad animation
  • metoden delay,
    som sätter en fördröjning för utförande av händelser
  • egenskapen jQuery.fx.off,
    som låter dig stänga av animation globalt
  • selektorn animated,
    som väljer element som för tillfället är involverade i en animation
Svenska
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Vi använder kakor för webbplatsens funktion, analys och personalisering. Behandling av data sker i enlighet med Integritetspolicyn.
acceptera alla anpassa avvisa