Ответ 1
Это должно сделать это:
$('#pos1').offset().top - $('#pos1').parent().offset().top - $('#pos1').parent().scrollTop()
Я хотел бы знать, как получить расстояние/смещение/положение элемента относительно его родительского элемента.
В отличие от функции jQuery position()
, которая получает позицию относительно родительской позиции смещения, мне нужно получить (предполагая) стабильное положение элемента, поскольку оно находится на расстоянии от вершины содержащего/родительского элемента.
Пример:
<div id="parent">
<div id="pos1">Has a position of 0px from top of containing parent el.</div>
<br style="height:20px;">
<br style="height:20px;">
<div id="pos2">Has a position of 40px from top of containing parent el.</div>
</div>
Итак, независимо от того, какая позиция родительского элемента в документе, позиция pos1
и pos2
будет сообщаться одинаково, поскольку они не изменяются относительно их родительского элемента...
Возможно ли это?
Это должно сделать это:
$('#pos1').offset().top - $('#pos1').parent().offset().top - $('#pos1').parent().scrollTop()
Этот код работает для меня.
var child_top = $("#parent_div").scrollTop() + $("#child_div").offset().top
Parent.offset() - child.offset()?
Использование jQuery offset()