Ответ 1
Используйте .offset()
, чтобы получить расстояние между элементом и вершиной документа:
$("li.test").offset().top
Как найти вертикальное расстояние от верхней части страницы до того, где элемент существует в DOM, используя javascript/jQuery?
У меня что-то вроде
<ul>
<li>one</li>
<li>one</li>
<li>one</li>
<li>one</li>
<li class="test">one</li>
....
....
....
<li>one</li>
</ul>
Например, здесь я хочу найти вертикальное расстояние от верхней части страницы до элемента li#test
.
Я пробовал .scrollTop()
, но он всегда приходит как 0!
Используйте .offset()
, чтобы получить расстояние между элементом и вершиной документа:
$("li.test").offset().top
Ответ Rob W правильный - это даст вам смещение от верхней части полной страницы.
Если вы хотите получить смещение от верхней части экрана просмотра, вы должны сделать это:
var viewableOffset = $("#li.test").offset().top - $(window).scrollTop();
Надеюсь, что это поможет!
Насколько я знаю, .offset()
получить расстояние между текущей полосой прокрутки и верхней частью документа.
Вам нужно использовать это: $("li.test").position().top
Используйте $(element).offset(). top и добавьте высоту существующих неподвижных элементов на странице, чтобы сделать ее более точной.