jQuery CSS 操作 - offset() 方法

实例

获得 <p> 元素当前的偏移:

  1. $(".btn1").click(function(){
  2. x=$("p").offset();
  3. $("#span1").text(x.left);
  4. $("#span2").text(x.top);
  5. });

定义和用法

offset() 方法返回或设置匹配元素相对于文档的偏移(位置)。

返回偏移坐标

返回第一个匹配元素的偏移坐标。

该方法返回的对象包含两个整型属性:top 和 left,以像素计。此方法只对可见元素有效。

语法

  1. $(selector).offset()

设置偏移坐标

设置所有匹配元素的偏移坐标。

语法

  1. $(selector).offset(value)
参数 描述
value 必需。规定以像素计的 top 和 left 坐标。 可能的值: - 值对,比如 {top:100,left:0} - 带有 top 和 left 属性的对象

使用函数来设置偏移坐标

使用函数来设置所有匹配元素的偏移坐标。

语法

  1. $(selector).offset(function(index,oldoffset))
参数 描述
function(index,oldoffset) 规定返回被选元素新偏移坐标的函数。 - index - 可选。接受选择器的 index 位置 - oldvalue - 可选。接受选择器的当前坐标。

实例

  • 使用对象来为对象设置新的 offset 值

    使用性象中的坐标来定位元素。

  1. <html>
  2. <head>
  3. <script type="text/javascript" src="/jquery/jquery.js"></script>
  4. <script type="text/javascript">
  5. newPos=new Object();
  6. newPos.left="0";
  7. newPos.top="100";
  8. $(document).ready(function(){
  9. $("button").click(function(){
  10. $("p").offset(newPos);
  11. });
  12. });
  13. </script>
  14. </head>
  15. <body>
  16. <p>This is a paragraph.</p>
  17. <button>设置新的偏移</button>
  18. </body>
  19. </html>
  • 使用另一个元素的位置来为元素设置新的 offset 值

    使用已有对象的位置来定位元素。

  1. <html>
  2. <head>
  3. <script type="text/javascript" src="/jquery/jquery.js"></script>
  4. <script type="text/javascript">
  5. $(document).ready(function(){
  6. $("button").click(function(){
  7. $("p").offset($("span").offset());
  8. });
  9. });
  10. </script>
  11. </head>
  12. <body>
  13. <p>This is a paragraph.</p>
  14. <button>为段落设置偏移</button>
  15. <span id="middlepos" style="position:absolute;left:100px;top:150px;">This is a span</span>
  16. </body>
  17. </html>