Gibt es eine Möglichkeit, mit jQuery die absolute Position eines Elements zu ermitteln, dh relativ zum Fensteranfang?
javascript
jquery
Akshat
quelle
quelle
offset()
gibt nicht die richtige obere Koordinate zurück. Stattdessen werden etwa 300 Pixel mehr als die oberste Koordinate des Elements im Dokument zurückgegeben. Warum??Beachten Sie,
$(element).offset()
dass Sie die Position eines Elements relativ zum Dokument angeben . Dies funktioniert in den meisten Fällen hervorragend,position:fixed
kann jedoch zu unerwarteten Ergebnissen führen.Wenn Ihr Dokument länger als das Ansichtsfenster ist und Sie vertikal zum unteren Rand des Dokuments gescrollt haben, ist
position:fixed
deroffset()
Wert Ihres Elements um den Betrag, den Sie gescrollt haben , größer als der erwartete Wert.Wenn Sie nach einem Wert suchen , der sich auf das Ansichtsfenster (Fenster) bezieht , und nicht auf das Dokument an einer Position: festes Element, können Sie den
scrollTop()
Wert des Dokuments vom Wert des festen Elements abziehenoffset().top
. Beispiel:$("#el").offset().top - $(document).scrollTop()
Wenn das
position:fixed
übergeordnete Element des Elements das Dokument ist , möchten SieparseInt($.css('top'))
stattdessen lesen .quelle
$(document).scrollTop()