2010-06-25 5 views
3

que je fais ceci:Animer décalage avec jquery

source.offset({ top: top + 10 + (current)*60 , left: left + 10 }); 

Ce que je voudrais faire est d'animer le mouvement. Donc j'ai fait:

source.animate({left: left + 10, top:top + 10 + (current)*60}, 500, function() { // Animation complete.}); 

Mais ça ne va pas au bon endroit. Bien qu'avec la première version c'était ok.

Qu'est-ce que je fais mal?

Merci pour votre aide

+0

un code plus comme le code html correspondant et un peu plus sur ce que la source est, pourrait aider. – jigfox

+0

Que voulez-vous dire par «ça ne va pas au bon endroit»? Trop à gauche, à droite, trop haut, trop bas, ça ne bouge pas? Un extrait du code HTML permettrait de déterminer plus facilement quel est le problème. :) – Diego

Répondre

4

Je ne suis pas expert, mais je pense Animate() et css() peuvent modifier le décalage par rapport au parent .. comme la position() tout en offset() vous donne le décalage de la document entier .. c'est peut-être ce qui déroute?

2

Essayez

$("#source").animate({left: (left + 10), top:(top + 10 + ((current)*60))}, 500, function() 
{ //comments }); 

Pour plus d'informations, voir http://forum.jquery.com/topic/offset-with-animate

+0

Essayez $ ("# source"). Animate ({left: (left + 10), en haut: (top + 10 + ((actuel) * 60))}, 500, function() {// commentaires}) –