jquery 中的 offset()

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jquery 中的 offset()相关的知识,希望对你有一定的参考价值。

一.语法:

1.返回偏移坐标

  $(select).offset();

  top:  $(select).offset().top;

  left:  $(select).offset().left;

 

2.设置偏移坐标

   $(select).offset({top:value,left:value});

   参数的含义:

   {top:value,left:value} 当设置偏移时是必需的。规定以像素为单位的 top 和 left 坐标。

 

  3、使用函数设置偏移坐标:

        $(selector).offset(function(index,currentoffset));

        可选。规定返回包含 top 和 left 坐标的对象的函数。
        index - 返回集合中元素的 index 位置。
        currentoffset - 返回被选元素的当前坐标。

 

二. 实例

 <!DOCTYPE html>
<html>
<head>
<script src="http://libs.baidu.com/jquery/1.10.2/jquery.min.js">
</script>
<script>
$(document).ready(function(){

      名/值 对
       $("button").click(function(){
             $("p").offset({top:200,left:200});
       });

     对象

$("button").click(function(){
newPos=new Object();
newPos.left="0";
newPos.top="100";
$("p").offset(newPos);
});

      函数

$("p").offset(function(n,c){
newPos=new Object();
newPos.left=c.left+100;
newPos.top=c.top+100;
return newPos;
});


});
</script>
</head>
<body>

<p style="border:1px solid red">This is a paragraph.</p>
<button>Set the offset coordinates of the p element</button>

</body>
</html>

 

三.注意事项

ffset() 方法 返回的top , left. 跟 margin-top,margin-left 也有关系。

      如果元素有margin-top,margin-left. 它获取当前的margin. 没有则是默认取值。

      如果父元素也有margin,broder 的话。它也会受到影响。取值要更大。 因为offset() 取的当前与文档的偏移坐标。

以上是关于jquery 中的 offset()的主要内容,如果未能解决你的问题,请参考以下文章

JQuery监听页面滚动事件及scrollTop(),offset().top总结

.scroll 函数中的 .offset 函数在 jQuery 中不起作用

JS下offsetLeft,style.left,以及jQuery中的offset().left,css("left")的区别。

PC 端网页特效-offset 系列及学习案例

jQuery中offset()方法,获取的top=0,left=0。

jquery offset()和position()的区别