Existe uma maneira de encontrar a posição absoluta de um elemento, ou seja, em relação ao início da janela, usando jQuery?
javascript
jquery
akshat
fonte
fonte
offset()
não retorna a coordenada superior adequada. Ele retorna cerca de 300 pixels a mais do que a coordenada superior do elemento no documento. Por quê??Observe que
$(element).offset()
indica a posição de um elemento em relação ao documento . Isso funciona muito bem na maioria das circunstâncias, masposition:fixed
você pode obter resultados inesperados.Se o seu documento for maior que a viewport e você tiver rolado verticalmente em direção à parte inferior do documento,
position:fixed
ooffset()
valor do seu elemento será maior que o valor esperado pela quantidade que você rolou.Se você estiver procurando por um valor relativo à viewport (janela), em vez do documento em uma posição: elemento fixo, poderá subtrair o
scrollTop()
valor do documento do valor do elemento fixooffset().top
. Exemplo:$("#el").offset().top - $(document).scrollTop()
Se o
position:fixed
pai de deslocamento do elemento for o documento , você deseja lerparseInt($.css('top'))
.fonte
$(document).scrollTop()