jQuery-effecten - Animatie


Met jQuery kunt u aangepaste animaties maken.



jQuery

jQuery-animaties - De animate()-methode

De jQuery animate()-methode wordt gebruikt om aangepaste animaties te maken.

Syntaxis:

$(selector).animate({params},speed,callback);

De vereiste params-parameter definieert de CSS-eigenschappen die moeten worden geanimeerd.

De optionele snelheidsparameter specificeert de duur van het effect. Het kan de volgende waarden aannemen: "slow", "fast" of milliseconden.

De optionele callback-parameter is een functie die moet worden uitgevoerd nadat de animatie is voltooid.

Het volgende voorbeeld demonstreert een eenvoudig gebruik van de animate()methode; het verplaatst een <div>-element naar rechts, totdat het een linkereigenschap van 250px heeft bereikt:

Voorbeeld

$("button").click(function(){
  $("div").animate({left: '250px'});
}); 

Standaard hebben alle HTML-elementen een statische positie en kunnen ze niet worden verplaatst.
Om de positie te manipuleren, vergeet niet om eerst de CSS position-eigenschap van het element in te stellen op relatief, vast of absoluut!



jQuery animate() - Meerdere eigenschappen manipuleren

Merk op dat meerdere eigenschappen tegelijkertijd kunnen worden geanimeerd:

Voorbeeld

$("button").click(function(){
  $("div").animate({
    left: '250px',
    opacity: '0.5',
    height: '150px',
    width: '150px'
  });
}); 

Is het mogelijk om ALLE CSS-eigenschappen te manipuleren met de animate()-methode?

Ja bijna! Er is echter één belangrijk ding om te onthouden: alle eigenschapsnamen moeten camel-cased zijn wanneer ze worden gebruikt met de animate()-methode: u moet paddingLeft schrijven in plaats van padding-left, marginRight in plaats van margin-right, enzovoort.

Ook is kleurenanimatie niet opgenomen in de kern jQuery-bibliotheek.
Als u kleuren wilt animeren, moet u de plug-in Color Animations downloaden van jQuery.com.


jQuery animate() - Relatieve waarden gebruiken

Het is ook mogelijk om relatieve waarden te definiëren (de waarde is dan relatief aan de huidige waarde van het element). Dit doe je door += of -= voor de waarde te zetten:

Voorbeeld

$("button").click(function(){
  $("div").animate({
    left: '250px',
    height: '+=150px',
    width: '+=150px'
  });
}); 

jQuery animate() - Vooraf gedefinieerde waarden gebruiken

U kunt zelfs de animatiewaarde van een eigenschap specificeren als " show", " hide" of " toggle":

Voorbeeld

$("button").click(function(){
  $("div").animate({
    height: 'toggle'
  });
}); 

jQuery animate() - Gebruikt wachtrijfunctionaliteit

Standaard wordt jQuery geleverd met wachtrijfunctionaliteit voor animaties.

Dit betekent dat als je meerdere animate()aanroepen achter elkaar schrijft, jQuery een "interne" wachtrij maakt met deze methodeaanroepen. Vervolgens voert het de geanimeerde oproepen EEN voor EEN uit.

Dus als je verschillende animaties achter elkaar wilt uitvoeren, maken we gebruik van de wachtrijfunctionaliteit:

voorbeeld 1

$("button").click(function(){
  var div = $("div");
  div.animate({height: '300px', opacity: '0.4'}, "slow");
  div.animate({width: '300px', opacity: '0.8'}, "slow");
  div.animate({height: '100px', opacity: '0.4'}, "slow");
  div.animate({width: '100px', opacity: '0.8'}, "slow");
}); 

Het onderstaande voorbeeld verplaatst het <div>element eerst naar rechts en vergroot vervolgens de lettergrootte van de tekst:

Voorbeeld 2

$("button").click(function(){
  var div = $("div");
  div.animate({left: '100px'}, "slow");
  div.animate({fontSize: '3em'}, "slow");
}); 

jQuery-oefeningen

Test jezelf met oefeningen

Oefening:

Gebruik de animate()methode om een ​​<div> element 250 pixels naar rechts te verplaatsen.

$("div").animate({: ''});


jQuery Effecten Referentie

Ga voor een compleet overzicht van alle jQuery-effecten naar onze jQuery-effectreferentie .