English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Metodo animate() della jQuery

Metodi di effetto jQuery

Il metodo animate() esegue animazioni personalizzate su un insieme di proprietà CSS.

Le animazioni rendono possibile la transizione animata da una configurazione di stile CSS a un'altra.

Tutte le proprietà di animazione devono essere impostate su un singolo valore numerico (ad esempio, larghezza, altezza o valore di sinistra).

Oltre alle stringhe "show", "hide" e "toggle", i valori di stringa non possono impostare animazioni (ad esempio, colore di sfondo). Questi valori permettono di nascondere e mostrare gli elementi animati.

Le proprietà di animazione possono anche essere relative. Se viene fornito un prefisso += o -=, il valore di destinazione viene calcolato aggiungendo o sottraendo il numero fornito al valore corrente dell'attributo.

Oltre alle proprietà di stile, è possibile animare alcune proprietà non di stile (ad esempio: scrollTop e scrollLeft).

Sintassi 1:

$(selector).animate({styles}, duration, easing, callback)

Sintassi 2:

$(selector).animate({styles}, {options})

Esempio

Imposta l'animazione dell'elemento modificando la larghezza:

$\("#btn1\").click(function(){
  $\("div\").animate({width: \"500px\"});
});
Testa per vedere‹/›

Crea animazioni modificando la larghezza e l'altezza degli elementi:

$\("#btn1\").click(function(){
  $\("div\").animate({width: \"500px\"});
  $\("div\").animate({height: \"400px\"});
});
Testa per vedere‹/›

Esegui animazioni sugli elementi utilizzando più proprietà di stile e valori:

$\("#btn1\").click(function(){
  $\("div\").animate({
     width:\"500px\",
     height:\"400px\"
  });
});
Testa per vedere‹/›

usando animate() condelduration e easingdelParametri:

$("button").click(function(){
  $\("div\").animate({width:\"500px\", height:\"400px\"}, 4000, \"linear\");
});
Testa per vedere‹/›

Usa animate() insieme a una funzione di callback:

$("button").click(function(){
  $\("div\").animate({
    width:\"500px\",
    height:\"400px\"
  }, 500, \"linear\",
  function(){
    $(this).after("<h2>Animazione completata</h2>");
  });
});
Testa per vedere‹/›

Specifica più animazioni{styles} e{options} utilizzando la sintassi alternativa:

$("button").click(function(){
  $\("div\").animate({
    width:\"500px\",
    height:\"400px\"
  }, {
    duration:500,
    easing:\"linear\",
    complete: function() {}}
      $(this).after("<h2>Animazione completata</h2>");
    }
  });
});
Testa per vedere‹/›

Aggiungi scorrimento liscio quando l'utente scrolla la pagina:

let size = $(".main").height(); // Ottieni l'altezza di ".main"
$(window).keydown(function(event) {
  if(event.which === 40) { // Se premo il tasto freccia giù
    $("html, body").animate({scrollTop: "+=" + size}, 300);
  } else if(event.which === 38) { // Se premo il tasto freccia su
    $("html, body").animate({scrollTop: "-=" + size}, 300);
  }
});
Testa per vedere‹/›

Usa valori relativi per impostare l'animazione per tutti i paragrafi:

$("p").click(function(){
  $(this).animate({
    fontSize: "+=5px",
    padding: "+=10px"
  });
});
Testa per vedere‹/›

Inoltre, possiamo anche specificare il valore animato dell'attributo "show", "hide" o "toggle":

$("button").click(function(){
  $("div").animate({height: "toggle"});
});
Testa per vedere‹/›

Valore Parametro(Sintassi 1)

$(selector).animate({styles}, duration, easing, callback)
ParametriDescrizione
stylesObbligatorio. Specificare uno o più attributi CSS/valori che generano l'effetto animazione.
Attenzione:Quando si utilizza il metodo animate(), il nome dell'attributo deve essere in stile camelCase: è paddingTop invece di padding-top, marginLeft invece di margin-left e così via
duration(Opzionale) Stringa o numero che determina quanto tempo durerà l'animazione. Il valore predefinito è 400 millisecondi

Valori possibili:

  • millisecondi (ad esempio 100, 500, 2000 ecc.)

  • "fast"

  • "slow"

easing(Opzionale) Specificare la velocità dell'elemento in diversi punti dell'animazione. Il valore predefinito è "swing".

Valori possibili:

  • "swing" - Muoversi più lentamente all'inizio e alla fine, e più velocemente nel mezzo

  • "linear" - Muoversi a velocità costante

callback(Opzionale) Funzione da eseguire dopo l'esecuzione della funzione animate.

Valore Parametro(Sintassi 2)

$(selector).animate({styles}, {options})
ParametriDescrizione
stylesObbligatorio. Specificare uno o più attributi CSS/valori che producono l'effetto di animazione (come sopra).
options(Opzionale)Specificare ulteriori opzioni per l'animazione

Valori opzionali:

  • duration - Una stringa o un numero che determina quanto tempo l'animazione deve durare

  • easing - Una stringa che indica quale funzione di easing deve essere usata nel transizione

  • complete - Funzione chiamata quando l'animazione è completata

  • step - Funzione chiamata per ogni attributo animato di ogni elemento animato

  • progress - Funzione da eseguire dopo ogni passo dell'animazione

  • queue - Un valore booleano che specifica se l'animazione deve essere messa in coda degli effetti

  • specialEasing - DastylesMappatura di uno o più attributi CSS e delle funzioni di easing corrispondenti

  • start - Funzione da eseguire quando l'animazione inizia

  • done - Funzione da eseguire quando l'animazione termina

  • fail - Funzione da eseguire se l'animazione non può essere completata

  • always - Funzione da eseguire se l'animazione si ferma ma non è completata

Metodi di effetto jQuery