¿Cómo encuentro la distancia vertical desde la parte superior de la página hasta donde existe el elemento en el DOM usando javascript / jQuery?
Tengo algo como
<ul>
<li>one</li>
<li>one</li>
<li>one</li>
<li>one</li>
<li class="test">one</li>
....
....
....
<li>one</li>
</ul>
Por ejemplo, aquí quiero encontrar la distancia vertical desde la parte superior de la página hasta el li#test
elemento.
¡Lo intenté .scrollTop()
pero siempre sale como 0!
javascript
jquery
ptamzz
fuente
fuente
Respuestas:
Use
.offset()
para obtener la distancia entre un elemento y la parte superior del documento:$("li.test").offset().top
fuente
La respuesta de Rob W es correcta, eso le dará el desplazamiento desde la parte superior de la página completa.
Si desea obtener el desplazamiento desde la parte superior de la pantalla visible, debe hacer esto:
var viewableOffset = $("#li.test").offset().top - $(window).scrollTop();
¡Espero que ayude!
fuente
Por lo que sé,
.offset()
obtenga la distancia entre la posición de desplazamiento actual y la parte superior del documento.Necesitas usar esto:
$("li.test").position().top
fuente
Use $ (element) .offset (). Top y agregue la altura de los elementos fijos existentes en la página para que sea más precisa.
fuente