JSB

loop

Permet de répéter une animation en boucle.

Cette fonction fonctionne exactement comme a/animate sauf que l'animation recommence indéfiniment.

1, 2 ou 3 paramètres peuvent être transmis à loop : la liste des propriétés à animer avec les valeurs d'arrivée, une durée et une fonction exécutée à chaque pas de l'animation. Ils correspondent respectivement aux premier, second et quatrième paramètre de la fonction a/animate.

#bloc

Le code de cet exemple :

$('#bloc').loop('left:0>200','slow');

Toutes les syntaxe permises dans a/animate sont disponible dans loop, exemples :

$('#bloc').loop('left:200');
$('#bloc').loop({
    left:200,
    top:100
});
$('#bloc').loop('left:200;top:100',240);
$('#bloc').loop('left:200;top:100',[600,1.3]);
$('#bloc').loop('left:0>200',['slow','square'],function (t)
{
   // Code exécuté à chaque pas de l'animation
   // t est compris entre 0 et 1, dans le cas présent, il vaudra par exemple 0 lorsque la propriété left vaut 0, 0.5 lorsqu'elle vaut 100, 1 lorsqu'elle vaut 200, etc.
   // t repart à 0 à chaque fois que l'animation se boucle
});

Ci-dessous, le code source de cette fonction si elle avait été codé en plug-in :

$0.loop=function (p,t,f)
{
        this.a(p,t,function ()
        {
                $(this).loop(p,t,f);
        },f);
        return this;
};

loop ne fait qu'appeler a/animate et a/animate appelle loop avec les mêmes paramètres à la fin de l'animation.

© Bastien Miclo | www.selfbuild.fr