Je suis en train de créer une animation répétitive avec 2 valeurs provenant d'attributs de données définis sur le lienanimation répétable avec des variables à partir des données attributs
ce que j'ai jusqu'à présent et comme vous pouvez le voir il y a trop répétais code.
$(".click").click(function(){
$(this).delay(400).animate({bottom:'30px'},100);
$(this).animate({left:'5px'},50);
$(this).animate({left:'0px'},50);
$(this).animate({left:'5px'},50);
$(this).animate({left:'0px'},50);
$(this).animate({left:'5px'},50);
$(this).animate({left:'0px'},50);
$(this).animate({bottom:'0px'},100);
$(this).animate({bottom:'30px'},100);
$(this).animate({left:'5px'},50);
$(this).animate({left:'0px'},50);
$(this).animate({left:'5px'},50);
$(this).animate({left:'0px'},50);
$(this).animate({left:'5px'},50);
$(this).animate({left:'0px'},50);
$(this).animate({bottom:'0px'},100);
});
$(".clickRight").click(function(){
$(this).delay(200).animate({bottom:'30px'},100);
$(this).animate({right:'5px'},50);
$(this).animate({right:'0px'},50);
$(this).animate({right:'5px'},50);
$(this).animate({right:'0px'},50);
$(this).animate({right:'5px'},50);
$(this).animate({right:'0px'},50);
$(this).animate({bottom:'0px'},100);
$(this).animate({bottom:'30px'},100);
$(this).animate({right:'5px'},50);
$(this).animate({right:'0px'},50);
$(this).animate({right:'5px'},50);
$(this).animate({right:'0px'},50);
$(this).animate({right:'5px'},50);
$(this).animate({right:'0px'},50);
$(this).animate({bottom:'0px'},100);;
});
ce que je voudrais idéalement arriver est que l'utilisateur clique sur un lien et le retard est réglé de retard de données et à gauche | le droit est défini à partir de données-pos, par ex.
<a href="#" data-delay="400" data-pos="left">click Left</a>
<a href="#" data-delay="200" data-pos="right">click Right</a>
i alors besoin cette animation pour exécuter seulement deux fois avec les valeurs ci-dessus définies appropriatly
$(this).delay(400).animate({bottom:'30px'},100);
$(this).animate({left:'5px'},50);
$(this).animate({left:'0px'},50);
$(this).animate({left:'5px'},50);
$(this).animate({left:'0px'},50);
$(this).animate({left:'5px'},50);
$(this).animate({left:'0px'},50);
$(this).animate({bottom:'0px'},100);
Vous pouvez récupérer vos valeurs 'data' comme ceci:' $ (this) .data ("delay") '. – melancia
merci, j'ai fait quelque chose comme ça avant, c'est le bouclage de l'animation deux fois qui me donne un petit mal de tête. – odd
Comme ça? http://jsfiddle.net/Qt68Y/2/ – melancia