6
votes

Comment puis-je exécuter la fonction urlementaire à JQuery pour toujours?

$(this).css("left","100px");

function endless(){
    $(this).animate({
        left:'-=100px',
    },{
        easing: "linear",
    duration: 5000,
    complete: function() {
        $(this).css('left','100px');
    endless();
        }
    });
};
endless();
This is what I tried, but using this approach i can't get stuff moving.
   Im' using jQuery 1.3.2.
   Any Suggestions?

0 commentaires

4 Réponses :


2
votes

Vous devrez appeler sans fin () à partir d'un rappel.

function endless(item) {
  $(item).animate({"left": "-=100px"}, 5000, "linear", function(){
    $(item).css("left","100px");
    endless(item);
  });
}

endless($(".myBox"));


0 commentaires

0
votes

Vous devez remplacer $ (this) avec le sélecteur sur l'élément que vous souhaitez animer.


0 commentaires

4
votes

Vous avez les paramètres pour animer le mal. Cela ne prend pas de hachage d'options, juste les options réelles d'assouplissement, de durée et d'un rappel. De plus, vous devez prendre soin lorsque vous utilisez ceci code>. Mieux vaut transmettre en tant qu'argument à la fonction sans fin.

$(this).css("left","100px");

function endless(elem){
    $(elem).animate(
        { left:'-=100px' },
        "linear",
        5000,
        function() {
            $(elem).css('left','100px');
            endless(elem);
        }
     );
};
endless(this);


0 commentaires

0
votes

génial! C'est exactement ce que j'ai cherché, mais maintenant,

J'ai finalement compris comment le basculer. Avec la fonction suivante, appelez sans fin (0) pour arrêter, et sans fin (1) pour activer la boucle d'animation. xxx

theX pour le code initial!


0 commentaires