使用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的偏移量和位置,但那些似乎没有得到我正在寻找的正确偏移量。
答案 0 :(得分:44)
使用$.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>