jQuery CSS 操作 - offset() 方法
实例
获得 <p> 元素当前的偏移:
- $(".btn1").click(function(){
- x=
$("p").offset()
;- $("#span1").text(x.left);
- $("#span2").text(x.top);
- });
定义和用法
offset() 方法返回或设置匹配元素相对于文档的偏移(位置)。
返回偏移坐标
返回第一个匹配元素的偏移坐标。
该方法返回的对象包含两个整型属性:top 和 left,以像素计。此方法只对可见元素有效。
语法
- $(selector).offset()
设置偏移坐标
设置所有匹配元素的偏移坐标。
语法
- $(selector).offset(value)
参数 | 描述 |
---|---|
value | 必需。规定以像素计的 top 和 left 坐标。 可能的值: - 值对,比如 {top:100,left:0} - 带有 top 和 left 属性的对象 |
使用函数来设置偏移坐标
使用函数来设置所有匹配元素的偏移坐标。
语法
- $(selector).offset(function(index,oldoffset))
参数 | 描述 |
---|---|
function(index,oldoffset) | 规定返回被选元素新偏移坐标的函数。 - index - 可选。接受选择器的 index 位置 - oldvalue - 可选。接受选择器的当前坐标。 |
实例
使用对象来为对象设置新的 offset 值
使用性象中的坐标来定位元素。
<html>
<head>
<script type="text/javascript" src="/jquery/jquery.js"></script>
<script type="text/javascript">
newPos=new Object();
newPos.left="0";
newPos.top="100";
$(document).ready(function(){
$("button").click(function(){
$("p").offset(newPos);
});
});
</script>
</head>
<body>
<p>This is a paragraph.</p>
<button>设置新的偏移</button>
</body>
</html>
使用另一个元素的位置来为元素设置新的 offset 值
使用已有对象的位置来定位元素。
<html>
<head>
<script type="text/javascript" src="/jquery/jquery.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$("button").click(function(){
$("p").offset($("span").offset());
});
});
</script>
</head>
<body>
<p>This is a paragraph.</p>
<button>为段落设置偏移</button>
<span id="middlepos" style="position:absolute;left:100px;top:150px;">This is a span</span>
</body>
</html>