Czy istnieje sposób znalezienia bezwzględnej pozycji elementu, tj. Względem początku okna, za pomocą jQuery?
javascript
jquery
akshat
źródło
źródło
offset()
nie zwraca właściwej górnej współrzędnej. Zamiast tego zwraca około 300 pikseli więcej niż górna współrzędna elementu w dokumencie. Dlaczego??Zauważ, że
$(element).offset()
informuje o pozycji elementu względem dokumentu . Działa to świetnie w większości przypadków, ale w przypadkuposition:fixed
możesz uzyskać nieoczekiwane rezultaty.Jeśli twój dokument jest dłuższy niż rzutnia i przewinąłeś pionowo w kierunku dolnej części dokumentu, wówczas wartość
position:fixed
elementu będzie większa niż wartość oczekiwana o przewiniętą wartość.offset()
Jeśli szukasz wartości względem rzutni (okna), a nie dokumentu na pozycji: element stały, możesz odjąć wartość dokumentu
scrollTop()
od wartości elementu stałegooffset().top
. Przykład:$("#el").offset().top - $(document).scrollTop()
Jeśli
position:fixed
nadrzędnym elementem odsuniętym jest dokument ,parseInt($.css('top'))
zamiast tego chcesz przeczytać .źródło
$(document).scrollTop()