2011-11-22 4 views
0

il les gars ...jquery .animate avec timefunction

-je utiliser ce litte bout de code pour jquery:

function updown() { 
    $('#red').animate({top:'+=100'}, 5000, function() { 
     $('#red').animate({top:'-=100'},5000, function(){ 
      updown(); 
     }); 
    }); 
} 

updown(); 

(pour le mouvement vers la droite i utiliser spritely)

et obtenir ce résultat:

result

mais je le veux comme ceci:

wish

est-il un moyen de réaliser cela?

salutations, bernte

Répondre

1

Bien sûr, vous pouvez utiliser jQuery delay() ou setTimeout de Javascript, voici l'ancien:

function updown() { 
    $('#red').delay(7000).animate({top:'+=100'}, 5000, function() { 
     $('#red').delay(3000).animate({top:'-=100'},5000, function(){ 
      updown(); 
     }); 
    }); 
} 
+0

grand homme !!! JE VOUS REMERCIE!! :RÉ – bernte

0
function updown() { 
    $('#red').delay(3000).animate({top:'+=100'}, 5000, function() { 
     $('#red').delay(7000).animate({top:'-=100'},5000, updown}); 
    }); 
} 

updown(); 

retard est ce que vous voulez. Appelez, comme dans l'exemple ci-dessus, l'analyse du temps que vous voulez attendre avant d'exécuter la requête d'animation suivante. Attention, le délai ne fonctionne qu'avec les animations. Si vous le faites, par exemple:

$("#red").delay(1000).css("display", "none"); 

Le fichier .css() sera appelé immédiatement, et non après 1000 ms.