Animation jQuery


Effet jQuery - Animation


JQuery Animation - méthode animate()

La méthode jQuery animate() est utilisée pour créer des animations personnalisées.

Syntaxe :

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

Définition des paramètres de paramètres requis pour former une animation CSS propriétés.

Le paramètre optionnel de vitesse précise la durée de l'effet. Il peut prendre les valeurs suivantes : "lent", "rapide" ou millisecondes.

Le paramètre de rappel facultatif est le nom de la fonction à exécuter une fois l'animation terminée.

L'exemple suivant montre une application simple de la méthode animate(). Il déplace l'élément <div> de 250 pixels vers la droite :

Instance

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script src="http://libs.baidu.com/jquery/1.10.2/jquery.min.js">
</script>
<script> 
$(document).ready(function(){
  $("button").click(function(){
    $("div").animate({left:'250px'});
  });
});
</script> 
</head>
 
<body>
<button>开始动画</button>
<p>默认情况下,所有的 HTML 元素有一个静态的位置,且是不可移动的。 
如果需要改变为,我们需要将元素的 position 属性设置为 relative, fixed, 或 absolute!</p>
<div style="background:#98bf21;height:100px;width:100px;position:absolute;">
</div>

</body>
</html>

Exécuter l'instance»

Cliquez Bouton "Exécuter l'instance" pour afficher l'instance en ligne

Remarque : Par défaut, tous les éléments HTML ont une position statique et ne peuvent pas être déplacés.
Si vous avez besoin d'opérer la position, n'oubliez pas de définir d'abord la propriété CSS position de l'élément sur relative, fixe ou absolue !


jQuery animate() - Manipuler plusieurs attributs

Veuillez noter que plusieurs attributs peuvent être utilisés en même temps lors du processus de génération d'animation :

Instance

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script src="http://libs.baidu.com/jquery/1.10.2/jquery.min.js">
</script>
<script> 
$(document).ready(function(){
  $("button").click(function(){
    $("div").animate({
      left:'250px',
      opacity:'0.5',
      height:'150px',
      width:'150px'
    });
  });
});
</script> 
</head>
 
<body>
<button>开始动画</button>
<p>默认情况下,所有的 HTML 元素有一个静态的位置,且是不可移动的。 
如果需要改变为,我们需要将元素的 position 属性设置为 relative, fixed, 或 absolute!</p>
<div style="background:#98bf21;height:100px;width:100px;position:absolute;">
</div>

</body>
</html>

Exécuter l'instance»

Cliquez sur le bouton « Exécuter l'instance » pour afficher l'instance en ligne

Remarque : La méthode animate() peut-elle être utilisée pour exploiter toutes les propriétés CSS ?

Oui, presque ! Cependant, il y a une chose importante à retenir : lorsque vous utilisez animate(), vous devez utiliser la notation Camel pour écrire tous les noms de propriétés, par exemple, vous devez utiliser paddingLeft au lieu de padding-left, utiliser marginRight au lieu de margin-right, etc. .

De plus, l'animation couleur n'est pas incluse dans la bibliothèque principale jQuery.

Si vous avez besoin de générer une animation couleur, vous devez télécharger le plug-in Color Animation depuis jquery.com.


jQuery animate() - en utilisant des valeurs relatives

Il est également possible de définir des valeurs relatives (la valeur est relative à la valeur actuelle de l'élément). Vous devez ajouter += ou -= devant la valeur :

Instance

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script src="http://libs.baidu.com/jquery/1.10.2/jquery.min.js">
</script>
<script> 
$(document).ready(function(){
  $("button").click(function(){
    $("div").animate({
      left:'250px',
      height:'+=150px',
      width:'+=150px'
    });
  });
});
</script> 
</head>
 
<body>
<button>开始动画</button>
<p>默认情况下,所有的 HTML 元素有一个静态的位置,且是不可移动的。 
如果需要改变为,我们需要将元素的 position 属性设置为 relative, fixed, 或 absolute!</p>
<div style="background:#98bf21;height:100px;width:100px;position:absolute;">
</div>

</body>
</html>

Exécuter l'instance»

Cliquez sur le bouton « Exécuter l'instance » pour afficher l'instance en ligne

jQuery animate() - Utiliser des valeurs prédéfinies

Vous pouvez même animer la valeur de la propriété pour "afficher", "masquer" ou "basculer" :

Instance

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script src="http://libs.baidu.com/jquery/1.10.2/jquery.min.js">
</script>
<script> 
$(document).ready(function(){
  $("button").click(function(){
    $("div").animate({
      height:'toggle'
    });
  });
});
</script> 
</head>
 
<body>
<button>开始动画</button>
<p>默认情况下,所有的 HTML 元素有一个静态的位置,且是不可移动的。 
如果需要改变为,我们需要将元素的 position 属性设置为 relative, fixed, 或 absolute!</p>
<div style="background:#98bf21;height:100px;width:100px;position:absolute;">
</div>

</body>
</html>

Exécuter l'instance»

Cliquez sur le bouton « Exécuter l'instance » pour afficher l'instance en ligne


jQuery animate() - en utilisant la fonction de file d'attente

Par défaut, jQuery fournit une fonctionnalité de file d'attente pour les animations.

Cela signifie que si vous écrivez plusieurs appels animate() les uns après les autres, jQuery créera une file d'attente "interne" contenant ces appels de méthode. Exécutez ensuite ces appels animés un par un.

Instance

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script src="http://libs.baidu.com/jquery/1.10.2/jquery.min.js">
</script>
<script> 
$(document).ready(function(){
  $("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");
  });
});
</script> 
</head>
 
<body>
<button>开始动画</button>
<p>默认情况下,所有的 HTML 元素有一个静态的位置,且是不可移动的。 
如果需要改变为,我们需要将元素的 position 属性设置为 relative, fixed, 或 absolute!</p>
<div style="background:#98bf21;height:100px;width:100px;position:absolute;">
</div>

</body>
</html>

Exécuter l'instance»

Cliquez sur le bouton « Exécuter l'instance » pour afficher l'instance en ligne

L'exemple suivant déplace l'élément <div> de 100 pixels vers la droite, puis augmente la taille de la police du texte :

Exemple

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script src="http://libs.baidu.com/jquery/1.10.2/jquery.min.js">
</script>
<script> 
$(document).ready(function(){
  $("button").click(function(){
    var div=$("div");  
    div.animate({left:'100px'},"slow");
    div.animate({fontSize:'3em'},"slow");
  });
});
</script> 
</head>
 
<body>
<button>开始动画</button>
<p>默认情况下,所有的 HTML 元素有一个静态的位置,且是不可移动的。 
如果需要改变为,我们需要将元素的 position 属性设置为 relative, fixed, 或 absolute!</p>
<div style="background:#98bf21;height:100px;width:200px;position:absolute;">HELLO</div>

</body>
</html>

Exécuter l'instance»

Cliquez sur le bouton « Exécuter l'instance » pour afficher l'instance en ligne