433 Stimmen

Wie kann ich die absolute Position eines Elements mit jQuery ermitteln?

Gibt es eine Möglichkeit, die absolute Position eines Elements, d. h. relativ zum Anfang des Fensters, mit jQuery zu finden?

699voto

Crescent Fresh Punkte 111444

.offset() gibt die versetzte Position eines Elements als einfaches Objekt zurück, z. B:

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

Sie können diesen Rückgabewert verwenden, um andere Elemente an der gleichen Stelle zu positionieren:

$(anotherElement).css(position)

222voto

Tom Auger Punkte 19076

Beachten Sie, dass $(element).offset() gibt Ihnen die Position eines Elements an relativ zum Dokument . Dies funktioniert in den meisten Fällen gut, aber im Fall von position:fixed können Sie unerwartete Ergebnisse erzielen.

Wenn Ihr Dokument länger als das Ansichtsfenster und Sie haben vertikal zum unteren Rand des Dokuments gescrollt, dann ist Ihr position:fixed Element offset() Wert wird größer sein als den erwarteten Wert um den Betrag, den Sie gescrollt haben.

Wenn Sie einen günstigen Preis suchen relativ zum Ansichtsfenster (Fenster) und nicht das Dokument auf einem position:fixed-Element, können Sie den Wert des Dokuments scrollTop() Wert aus dem Wert des festen Elements offset().top Wert. Beispiel: $("#el").offset().top - $(document).scrollTop()

Si le position:fixed Element ist der Offset-Elternteil des Dokument wollen Sie lesen parseInt($.css('top')) stattdessen.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X