jQuery-Effekte - Animation


Mit jQuery können Sie benutzerdefinierte Animationen erstellen.



jQuery

jQuery-Animationen - Die animate()-Methode

Die jQuery- animate()Methode wird verwendet, um benutzerdefinierte Animationen zu erstellen.

Syntax:

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

Der erforderliche Parameter params definiert die zu animierenden CSS-Eigenschaften.

Der optionale Geschwindigkeitsparameter gibt die Dauer des Effekts an. Es kann die folgenden Werte annehmen: "langsam", "schnell" oder Millisekunden.

Der optionale Callback-Parameter ist eine Funktion, die nach Abschluss der Animation ausgeführt werden soll.

Das folgende Beispiel demonstriert eine einfache Verwendung der animate()Methode; es verschiebt ein <div>-Element nach rechts, bis es eine linke Eigenschaft von 250px erreicht hat:

Beispiel

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

Standardmäßig haben alle HTML-Elemente eine statische Position und können nicht verschoben werden.
Um die Position zu manipulieren, denken Sie daran, zuerst die CSS-Positionseigenschaft des Elements auf relativ, fest oder absolut einzustellen!



jQuery animate() - Manipuliert mehrere Eigenschaften

Beachten Sie, dass mehrere Eigenschaften gleichzeitig animiert werden können:

Beispiel

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

Ist es möglich, ALLE CSS-Eigenschaften mit der Methode animate() zu manipulieren?

Ja fast! Beachten Sie jedoch eine wichtige Sache: Alle Eigenschaftsnamen müssen in Camel-Case geschrieben werden, wenn sie mit der Methode animate() verwendet werden: Sie müssen paddingLeft statt padding-left, marginRight statt margin-right usw. schreiben.

Außerdem ist die Farbanimation nicht in der jQuery-Kernbibliothek enthalten.
Wenn Sie Farbe animieren möchten, müssen Sie das Color Animations-Plugin von jQuery.com herunterladen.


jQuery animate() - Relative Werte verwenden

Es können auch relative Werte definiert werden (der Wert ist dann relativ zum aktuellen Wert des Elements). Dies geschieht, indem += oder -= vor den Wert gesetzt wird:

Beispiel

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

jQuery animate() - Verwendung vordefinierter Werte

Sie können sogar den Animationswert einer Eigenschaft als „ show“, „ hide“ oder „ toggle“ angeben:

Beispiel

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

jQuery animate() - Verwendet die Warteschlangenfunktion

Standardmäßig verfügt jQuery über eine Warteschlangenfunktion für Animationen.

Das bedeutet, wenn Sie mehrere animate()Aufrufe hintereinander schreiben, erstellt jQuery mit diesen Methodenaufrufen eine "interne" Warteschlange. Dann führt es die animierten Anrufe EINS nach EINS aus.

Wenn Sie also verschiedene Animationen nacheinander ausführen möchten, nutzen wir die Warteschlangenfunktion:

Beispiel 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");
}); 

Das folgende Beispiel verschiebt das <div>Element zuerst nach rechts und vergrößert dann die Schriftgröße des Textes:

Beispiel 2

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

jQuery-Übungen

Testen Sie sich mit Übungen

Übung:

Verwenden Sie die animate()Methode, um ein <div>-Element um 250 Pixel nach rechts zu verschieben.

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


Referenz zu jQuery-Effekten

Eine vollständige Übersicht aller jQuery-Effekte finden Sie in unserer jQuery-Effekt-Referenz .