jQuery获取相对于特定div的顶部偏移量

Zac*_*eed 26 javascript jquery position offset

使用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>
Run Code Online (Sandbox Code Playgroud)

(填充和边缘顶部就是例子.)

你如何检查#ELEMENT顶部的#top-container?

我已经尝试过使用jQuery的偏移量和位置,但那些似乎没有得到我正在寻找的正确偏移量.

Ste*_*ins 44

$.offset()例如,使用

alert($("#ELEMENT").offset().top - $("#top-container").offset().top)
Run Code Online (Sandbox Code Playgroud)
body {
    background: blue
}

div {
    padding: 20px
}

#top-container {
    background: green
}

#one-level-container {
    background: red
}

#two-level-container {
    background: black
}

#ELEMENT {
    background: orange
}
Run Code Online (Sandbox Code Playgroud)
<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>
Run Code Online (Sandbox Code Playgroud)