je voudrais récupérer le décalage d'élément à partir de ses propres coordonnées de centre x.
comment puis-je le faire?
En fait, je peux trouver le décalage de la fenêtre d'un élément, mais il récupère les coordonnées de la bordure de l'élément comme ceci:
var _position = $(this).offset();
Vous devez utiliser offset()
pour obtenir la position supérieure et gauche, puis leur ajouter la moitié des valeurs height()
et width()
. Cela donne les coordonnées du centre.
var $this = $(this);
var offset = $this.offset();
var width = $this.width();
var height = $this.height();
var centerX = offset.left + width / 2;
var centerY = offset.top + height / 2;
Si vous devez prendre en compte la propriété padding dans vos calculs, utilisez ce qui suit:
var width = $this.outerWidth();
var height = $this.outerHeight();
Cela peut maintenant être fait via Javascript natif également:
let centerX = targetNode.offsetLeft + targetNode.offsetWidth / 2;
let centerY = targetNode.offsetTop + targetNode.offsetHeight / 2;
où targetNode est l'élément dont vous souhaitez obtenir les coordonnées centrales.