391 votes

Comment trouver la position absolue d'un élément à l'aide de jQuery ?

Existe-t-il un moyen de trouver la position absolue d'un élément, c'est-à-dire relative au début de la fenêtre, en utilisant jQuery ?

640voto

Crescent Fresh Points 54070

.offset() retournera la position décalée d'un élément sous la forme d'un objet simple, par exemple :

var position = $(element).offset(); // position = { left: 42, top: 567 }

Vous pouvez utiliser cette valeur de retour pour positionner d'autres éléments au même endroit :

$(anotherElement).css(position)

191voto

Tom Auger Points 4246

Notez que $(element).offset() vous indique la position d'un élément par rapport au document . Cela fonctionne très bien dans la plupart des cas, mais dans le cas de position:fixed vous pouvez obtenir des résultats inattendus.

Si votre document est plus long que la fenêtre d'affichage et que vous avez fait défiler verticalement vers le bas du document, alors votre position:fixed de l'élément offset() valeur sera supérieure à la valeur attendue par la quantité que vous avez fait défiler.

Si vous recherchez une valeur par rapport à la fenêtre d'affichage (fenêtre), plutôt que le document sur un élément position:fixed, vous pouvez soustraire l'élément scrollTop() de l'élément fixe offset().y valeur.

Si le position:fixed est le parent décalé de l'élément document vous voulez lire parseInt($.css('top')) à la place.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X