2010-01-20 12 views
3

J'utilise Jquery pour animer un objet lorsque l'utilisateur appuie sur une touche.Jquery backgroundPosition Animation Question

Lors du Keyup, l'objet s'arrête de bouger, mais j'ai besoin de savoir quelle est la position de fond de l'objet quand il s'arrête. En utilisant .stop (true);

Sans trop y entrer, je dois pouvoir obtenir la position de l'arrière-plan. Y at-il de toute façon avec Javascript ou jquery pour obtenir ces chiffres?

Répondre

2

Si vous changez la position d'arrière-plan les coordonnées, vous serez en mesure d'obtenir le style calculé de l'élément, au moment où vous arrêtez l'animation simplement en utilisant la méthode css.

Il vous retourne une paire de valeurs de pixels séparés par un espace, quelque chose comme « xpx YPX », vous pouvez diviser que les valeurs et les utiliser séparément:

var position = $(selector).css('backgroundPosition').split(' '),// ["0px", "0px"] 
x = position[0], y = position[1]; 
+0

quel type de variable est x? J'ai essayé de faire x + someInt et il n'a pas fini d'ajouter des entiers, mais il semble que ce soit la concaténation des chaînes. – Hristo

1

Vous devriez être en mesure d'identifier l'élément spécifique qui a l'image d'arrière-plan. Ensuite, vous pouvez utiliser .offset - http://docs.jquery.com/CSS/offset - pour obtenir la position absolue gauche/supérieure de l'élément par rapport à la page.

0

Avez-vous essayé?

$('#yourOject').css('backgroundPosition') 

Il devrait retourner quelque chose comme "nnpx yypx".

-1
var position = $(selector).css('backgroundPosition').split(' '),// ["0px", "0px"] 
x = position[0], y = position[1]; 

C'était presque parfait, La seule chose que j'ai changée était split ('px') afin que vous puissiez avoir le nombre brut lorsque vous l'utilisez pour d'autres calculs.