Ответ 1
Используйте $.offset()
, например
alert($("#ELEMENT").offset().top - $("#top-container").offset().top)
body {
background: blue
}
div {
padding: 20px
}
#top-container {
background: green
}
#one-level-container {
background: red
}
#two-level-container {
background: black
}
#ELEMENT {
background: orange
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<body style="padding:20px">
<div id="top-container" style="margin-top:20px">
<div id="one-level-container" style="margin-top:70px">
<div id="two-level-container" style="margin-top:120px">
<div id="ELEMENT" style="margin-top:10px">
</div>
</div>
</div>
</div>
</body>