2017-06-26 2 views
0

J'utilise la fonction JQuery .postion() pour placer mon objet par rapport à un autre. Je voudrais qu'il -anime-à cette position, cependant.Comment utiliser l'interface utilisateur JQuery pour animer une nouvelle "position"

Je sais comment animer, mais il faut connaître la position, et dans ce cas, je suis à l'aide .postion() pour calculer réellement cette position:

   $(this).position(
       { 
        my: 'left top', 
        at: 'left+' + xPos + ' top+' + yPos, 
        of: $("#dropdiv1") 
       }); 

Alors, est-il un moyen de obtenir cette position comme un résultat intermédiaire, puis utiliser animate() pour aller à cet endroit peut-être? Si je connaissais la position, j'utiliserais animate(), mais l'appel postion() calcule cela pour moi, donc je ne suis pas sûr de la façon de procéder.

+0

Pourquoi ne pas simplement demander la position 'Css()'? – Twisty

Répondre

0

Je ne peux pas dire que je suis certain à 100% sur la façon dont cela fonctionne, mais après bricoler, cela fonctionne parfaitement:

   $(this).position(
       { 
        my: 'left top', 
        at: 'left+' + xPos + ' top+' + yPos, 
        of: $("#dropdiv1"), 
        using: function (css, calc) 
        { 
         $(this).animate(css, 200, "linear"); 
        } 
       }); 
+0

Cela devrait fonctionner pour vous. Vous avez un test de violon? – Twisty