2011-02-17 5 views
2

親の相対的な位置を取得する必要があります。 position()はそれを行うと思われますが、そうではないように見えます。jquery offset()とposition()

<!DOCTYPE html> 
<html> 
<head> 
    <style> 

    body{padding: 0px; margin: 0px;} 
    div { margin-left: 200px; padding: 30px; border: 1px solid red;} 
    p { margin: 0px; padding: 0px; border: 1px solid black } 
    </style> 
    <script src="http://code.jquery.com/jquery-1.5.js"></script> 

    <script> 
     $(document).ready(function() { 

      var p = $("p.paragraf"); 
      var position = p.offset(); 
      $("p.zadnji").text("left: " + position.left + ", top: " + position.top); 

     }); 
    </script> 

</head> 
<body> 

<div class="container"> 
    <p class="paragraf">Hello</p> 
</div> 
<p class="zadnji"></p> 

</body> 
</html> 

結果:

左:231、トップ:31

p.paragraf#container内であれば、#containerp.paragrafの親でなければなりません。 #containerのパディングが30pxに設定されている場合、左と上の両方の位置がp.paragrafの30pxであるべきではありませんか?

は私が offset()を試してみましたが、それは位置 position()

答えて

7

アロハ、

の追加と同じ結果を与える:相対;あなたのコンテナスタイルに

jsfiddle

+0

私は "相対" –