根據jQuery的正式文件,該函數應:jQuery的位置()頂部返回0而不是真正的價值
「獲取匹配的元素集合的第一個元素的當前座標,相對於抵消父母「。
以下代碼預計返回值51,但它返回值0.任何人都可以提供洞察力爲什麼?提前致謝。
我知道添加css(top:xx)的作品,如果是這樣,是否意味着position()僅適用於該元素具有頂部css屬性的情況?
<html>
<head>
<style type="text/css">
.outer
{
width:200px;
height:200px;
overflow-y:auto;
border:1px dotted grey;
position:absolute;
}
.inner
{
width:50px;
height:50px;
margin-top: 50px;
border:1px solid red;
}
</style>
<script type="text/javascript" src="jquery-1.7.2.min.js"></script>
<script type="text/javascript"">
$(document).ready(function() {
$('.inner').mousedown(function (e) {
alert($(this).position().top);
})
})
</script>
</head>
<body>
<div class="outer">
<div class="inner"></div>
</div>
</body>
</html>
使用偏移量()頂部http://jsfiddle.net/XpynZ/ – sofl 2012-07-18 12:33:03
@sofl這是相對於文檔,我想要得到內部div和外部div之間的長度,也就是說我需要使用位置而不是抵消。 – Ley 2012-07-18 12:40:22