浅谈jQuery的offset()方法及示例分享


Posted in Javascript onJuly 17, 2015

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

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

语法结构一:

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

<!DOCTYPE html>
<html>
<head>
<meta charset=" utf-8">

<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">

<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">
<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>

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

以上所述就是本文的全部内容了,希望大家能够喜欢。

Javascript 相关文章推荐
js或者jquery判断图片是否加载完成实现代码
Mar 20 Javascript
js history对象简单实现返回和前进
Oct 30 Javascript
jQuery $.extend()用法总结
Jun 15 Javascript
JavaScript中的继承方式详解
Feb 11 Javascript
JavaScript jQuery 中定义数组与操作及jquery数组操作
Dec 18 Javascript
分享javascript实现的冒泡排序代码并优化
Jun 05 Javascript
JavaScript手机振动API
Jun 11 Javascript
Vue.js每天必学之Class与样式绑定
Sep 05 Javascript
使用angularjs.foreach时return的问题解决
Sep 30 Javascript
js常见遍历操作小结
Jun 06 Javascript
JS PHP字符串截取函数实现原理解析
Aug 29 Javascript
vue任意关系组件通信与跨组件监听状态vue-communication
Oct 18 Javascript
JavaScript用select实现日期控件
Jul 17 #Javascript
纯javascript制作日历控件
Jul 17 #Javascript
javascript生成不重复的随机数
Jul 17 #Javascript
jQuery实现径向动画菜单效果
Jul 17 #Javascript
jquery合并表格中相同文本的相邻单元格
Jul 17 #Javascript
用svg制作富有动态的tooltip
Jul 17 #Javascript
jquery实现根据浏览器窗口大小自动缩放图片的方法
Jul 17 #Javascript
You might like
php连接MSsql server的五种方法总结
2018/03/04 PHP
PHP的new static和new self的区别与使用
2019/11/27 PHP
任意位置显示html菜单
2007/02/01 Javascript
jquery imgareaselect 使用利用js与程序结合实现图片剪切
2009/07/30 Javascript
原生js实现半透明遮罩层效果具体代码
2013/06/06 Javascript
js创建子窗口并且回传值示例代码
2013/07/02 Javascript
JQuery Highcharts 动态生成图表的方法
2013/11/15 Javascript
javascript自动给文本url地址增加链接的方法分享
2014/01/20 Javascript
js实现的复制兼容chrome和IE
2014/04/03 Javascript
JS 使用for循环遍历子节点查找元素
2014/09/06 Javascript
javascript制作坦克大战全纪录(2)
2014/11/27 Javascript
JavaScript语言对Unicode字符集的支持详解
2014/12/30 Javascript
jQuery实现滑动页面固定顶部显示(可根据显示位置消失与替换)
2015/10/28 Javascript
JavaScript事件处理的方式(三种)
2016/04/26 Javascript
基于JavaScript实现带缩略图的轮播效果
2017/01/12 Javascript
jQuery插件之validation插件
2017/03/29 jQuery
详解vue-meta如何让你更优雅的管理头部标签
2018/01/18 Javascript
angularJS开发注意事项
2018/05/26 Javascript
基于vue实现移动端圆形旋钮插件效果
2018/11/28 Javascript
node 文件上传接口的转发的实现
2019/09/23 Javascript
Python实现计算最小编辑距离
2016/03/17 Python
Python切片索引用法示例
2018/05/15 Python
基于Django框架利用Ajax实现点赞功能实例代码
2018/08/19 Python
Python pandas库中的isnull()详解
2019/12/26 Python
python中的itertools的使用详解
2020/01/13 Python
pandas统计重复值次数的方法实现
2021/02/20 Python
HTML5适合的情人节礼物有纪念日期功能
2021/01/25 HTML / CSS
Onzie官网:美国时尚瑜伽品牌
2019/08/21 全球购物
上海奥佳笔试题面试题
2016/11/16 面试题
新大陆软件面试题
2016/11/24 面试题
优秀士兵先进事迹
2014/02/06 职场文书
公司联欢会策划方案
2014/05/19 职场文书
运动会跳远广播稿5篇
2014/09/17 职场文书
教师党员自我评议不足范文
2014/10/19 职场文书
2014年绩效考核工作总结
2014/12/11 职场文书
Go语言测试库testify使用学习
2022/07/23 Golang