JQueryを使用して、特定のコンテナに相対的なオフセット位置をどのように見つけますか?
たとえば、これがあります:
<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>
(例としてパディングとマージントップがあります。)
#ELEMENTから#top-containerへの位置のトップをどのように確認しますか?
JQueryのオフセットと位置を使用してみましたが、探している正しいオフセットを取得できないようです。
たとえば、$.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>