So finden Sie die x-Mittelpunktkoordinaten des Elements und den zugehörigen Fensterversatz

Lesezeit: 2 Minuten

Benutzer-Avatar
da ich bin

Ich möchte den Elementversatz ausgehend von seinen eigenen x-Zentrumskoordinaten abrufen.

wie kann ich es tun?

Eigentlich kann ich den Fensterversatz eines Elements finden, aber es ruft die Koordinaten vom Rand des Elements wie folgt ab:

var _position = $(this).offset();

  • Ich bin mir nicht sicher, was Sie erreichen möchten, die Position der Mitte Ihres Elements anstelle der Position ganz links oben? Außerdem ist $position keine richtige Syntax, wenn ja, fügen Sie einfach width/2 zum X und height/2 zur Höhe hinzu und Sie sind gut.

    – Shai Mishali

    6. November 2011 um 14:59 Uhr


  • @ShaiMishali Das ist die richtige Syntax. Es funktioniert perfekt. Es ist nur nicht die Konvention, Variablen in JavaScript so zu benennen.

    – Irgendein Typ

    6. November 2011 um 15:03 Uhr

Benutzer-Avatar
Rob W

Sie müssen verwenden offset() Um die obere und linke Position zu erhalten, fügen Sie dann die Hälfte von hinzu height() und width() Werte für sie. Das ergibt die Zentrumskoordinaten.

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;

Wenn Sie die Padding-Eigenschaft in Ihren Berechnungen berücksichtigen müssen, verwenden Sie Folgendes:

var width = $this.outerWidth();
var height = $this.outerHeight();

  • Wissen Sie, ob width() sich um das Auffüllen der CSS-Regel kümmert?

    – da ich bin

    6. November 2011 um 15:08 Uhr


  • Das padding Eigentum ist nicht enthalten. Wenn Sie auch die Polsterung einbeziehen möchten, verwenden Sie .outerWidth().

    – Rob W

    6. November 2011 um 15:09 Uhr


Dies kann jetzt auch über natives Javascript erfolgen:

let centerX = targetNode.offsetLeft + targetNode.offsetWidth / 2;
let centerY = targetNode.offsetTop + targetNode.offsetHeight / 2;

wobei targetNode das Element ist, dessen Zentrumskoordinaten Sie erhalten möchten.

  • Dadurch wird nur die Mitte relativ zum OffsetParent des targetNode ermittelt. Jedes übergeordnete Element (ganz oben im Baum) mit einer anderen Positionierung als statisch (Standardeinstellung) wirkt sich darauf aus.

    – Staubig

    8. Januar 2019 um 18:03 Uhr

  • Diese Methode gibt undefiniert in SVG-Objekten zurück

    – Vater

    31. Januar 2021 um 21:24 Uhr

1227680cookie-checkSo finden Sie die x-Mittelpunktkoordinaten des Elements und den zugehörigen Fensterversatz

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy