jQuery的offset()方法

offset()方法的定义和用法:

此方法返回或设置所匹配元素相对于document对象的偏移量。

语法结构一:

$(selector).offset()

获取匹配元素在当前document的相对偏移。
返回的对象包含两个整型属:top和left。
此方法只对可见元素有效。
实例代码:

<!DOCTYPE html>
<html>
<head>
<meta charset=" utf-8">
<meta name="author" content="http://www.51texiao.cn/" />
<title>offset()函数-蚂蚁部落</title>
<style type="text/css">
*{
  margin:0px;
  padding:0px;
}
.father{
  border:1px solid black;
  width:400px;
  height:300px;
  padding:10px;
  margin:50px;
}
.children{
  height:150px;
  width:200px;
  margin-left:50px;
  background-color:green;
}
</style>
<script type="text/javascript" src="mytest/jQuery/jquery-1.8.3.js"></script>
<script type="text/javascript">
$(document).ready(function(){
  $("button").click(function(){
     a=$(".children").offset();
     alert("元素的偏移量坐标是:"+a.top+"|"+a.left+"");
   })
})
</script>
</head>
<body>
<div class="father">
  <div class="children"></div>
</div>
<button>获取元素的坐标</button>
</body>
</html>

以上代码可以弹出子div相对于document的偏移量。
语法结构二:

$(selector).offset(value)

设置匹配元素相对于document对象的坐标。
offset()方法可以让我们重新设置元素的位置。这个元素的位置是相对于document对象的。
如果对象原先的position样式属性是static的话,会被改成relative来实现重定位。
参数列表:

参数 描述
value 规定以像素计的 top 和 left 坐标。
可能的值:
1.值对,比如 {top:200,left:10}。
2.带有top和left 属性的对象。

实例代码:

<!DOCTYPE html>
<html>
<head>
<meta charset=" utf-8">
<meta name="author" content="http://www.51texiao.cn/" />
<title>offset()函数-蚂蚁部落</title>
<style type="text/css">
.father{
  border:1px solid black;
  width:400px;
  height:300px;
}
.children{
  height:150px;
  width:200px;
  background-color:green;
}
</style>
<script type="text/javascript" src="mytest/jQuery/jquery-1.8.3.js"></script>
<script type="text/javascript">
$(document).ready(function(){
  $("button").click(function(){
    $(".children").offset({top:100,left:100})
  })
})
</script>
</head>
<body>
<div class="father">
  <div class="children"></div>
</div>
<button>点击设置偏移量</button>
</body>
</html>

以上代码可以设置div相对于document的偏移量。
语法结构三:
使用函数的返回值来设置偏移坐标:

$(selector).offset(function(index,oldoffset))

参数列表:

参数 描述
function(index,oldvalue) 规定返回被选元素新偏移坐标的函数:
index - 可选。元素的索引。
oldvalue - 可选。当前坐标。

实例代码:

<!DOCTYPE html>
<html>
<head>
<meta charset=" utf-8">
<meta name="author" content="http://www.51texiao.cn/" />
<title>offset()函数-蚂蚁部落</title>
<style type="text/css">
.father{
  border:1px solid black;
  width:400px;
  height:300px;
}
.children{
  height:150px;
  width:200px;
  background-color:green;
}
</style>
<script type="text/javascript" src="mytest/jQuery/jquery-1.8.3.js"></script>
<script type="text/javascript">
$(document).ready(function(){
  $("button").click(function(){
    $(".children").offset(function(a,b){
      var newpoint= new Object();
      newpoint.top=b.top+50;
      newpoint.left=b.left+50;
      return newpoint;
    })
  })
})
</script>
</head>
<body>
<div class="father">
  <div class="children"></div>
</div>
<button>点击设置偏移量</button>
</body>
</html>

以上代码同样可以设置元素的偏移,不过值是通过函数返回。

原文地址是:http://www.51texiao.cn/jqueryjiaocheng/2015/0519/1934.html

最为原始地址是:http://www.softwhy.com

时间: 2024-10-18 18:48:10

jQuery的offset()方法的相关文章

深度理解Jquery 中 offset() 方法

多说无益,现在就开始! 一.语法 1. 返回偏移坐标 $(selector).offset(); top: $(selector).offset().top; left: $(selector).offset().left; 2.设置偏移坐标: $(selector).offset({top:value,left:value}); 参数的含义:{top:value,left:value}     当设置偏移时是必需的.规定以像素为单位的 top 和 left 坐标. 可能的值:(1).名/值对,

jQuery的offset()和position()用法详解

offset()和position()用法详解: 这两个方法非常的常用,同时掌握起来有些困难,下面就介绍一下这两个方法的用法. 下面先看一下它们基本的定义: 1.offset()方法的定义: 此方法获取或者设置匹配元素在当前document的相对偏移. 此方法只对可见元素有效. 当获取偏移量时,方法的返回值是一个包含两个整型属性(top和left)的对象. 设置偏移量时,此方法的参数是带有top和left属性的对象. 具体用法可以参阅jQuery的offset()方法一章节. 2.positio

jQuery CSS 操作 - offset() 方法

$(selector).offset()offset() 方法返回匹配元素相对于文档的位置(偏移).不管是否是定位元素.此方法只对可见元素有效.该方法返回的对象包含两个整型属性:top 和 left,以像素计. 获取top值和 left值$(selector).offset().left 或者$(selector).offset()['left'] $(selector).offset().right 或者$(selector).offset()['right']

js实现jquery的offset()

用过jQuery的offset()的同学都知道 offset().top或offset().left很方便地取得元素相对于整个页面的偏移. 而在js里,没有这样直接的方法,节点的属性offsetTop可以获得该节点相对于父节点的相对偏移 但不能直接获得其绝对偏移,我们可用节点逐层递归向上来相加offsetTop来获得绝对偏移. function getOffset(Node, offset) { if (!offset) { offset = {}; offset.top = 0; offset

jQuery动画animate方法使用介绍

jQuery动画animate方法使用介绍 用于创建自定义动画的函数. 返回值:jQuery animate(params, [duration], [easing], [callback]) 如果使用的是“hide”.“show”或“toggle”这样的字符串值,则会为该属性调用默认的动画形式.paramsOptions一组包 含作为动画属性和终值的样式属性和及其值的集合 params 对象{},注意:所有指定的属性必须用骆驼形式,比如用marginLeft代替margin-left,如果使用

jQuery常用的方法和标签总结01(有代码示例)

//jQuery的优点 :         1 轻量级        2 强大的选择器        3 出色的DOM操作的封装        4 可靠的事件处理机制        5 完善的Ajax        6 不污染顶级变量        7 出色的浏览器兼容性        8 链式操作方式        9 隐式迭代        10 行为曾与结构层的分离        11 丰富的插件支持        12 完善的文档        13 开源 <script src="

jquery 事件 开发方法 总结

转:http://hi.baidu.com/shuanglinwanyu/blog/item/4936af3e40c7993770cf6c9e.html attribute:属性$("p").addclass(css中定义的样式类型); 给某个元素添加样式$("img").attr({src:"test.jpg",title:"test image"}); 给某个元素添加属性/值,参数是map$("input&quo

使用jQuery的data方法来为页面中的某个元素存储数据,(获取焦点,清除默认值)

使用data方法可以避免在DOM中存储数据,有些前端开发er喜欢使用HTML的属性来存储数据: 使用”alt”属性来作为参数名存储数据其实对于HTML来说是不符合语义的. 我们可以使用jQuery的data方法来为页面中的某个元素存储数据: html部分: 1 <form id="testform"> 2 <input type="text" class="clear" value="Always cleared&qu

JQuery中$.ajax()方法参数详解

url: 要求为String类型的参数,(默认为当前页地址)发送请求的地址. type: 要求为String类型的参数,请求方式(post或get)默认为get.注意其他http请求方法,例如put和 delete也可以使用,但仅部分浏览器支持. timeout: 要求为Number类型的参数,设置请求超时时间(毫秒).此设置将覆盖$.ajaxSetup()方法的全局设 置. async:要求为Boolean类型的参数,默认设置为true,所有请求均为异步请求. 如果需要发送同步请求,请将此选项