浅谈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 相关文章推荐
jQuery学习笔记[1] jQuery中的DOM操作
Dec 03 Javascript
网页编辑器ckeditor和ckfinder配置步骤分享
May 24 Javascript
Javascript数组的排序 sort()方法和reverse()方法
Jun 04 Javascript
js控制表单不能输入空格的小例子
Nov 20 Javascript
connect中间件session、cookie的使用方法分享
Jun 17 Javascript
jQuery中remove()方法用法实例
Dec 25 Javascript
详解angular中如何监控dom渲染完毕
Jan 03 Javascript
Angularjs自定义指令实现分页插件(DEMO)
Sep 16 Javascript
layui弹出层按钮提交iframe表单的方法
Aug 20 Javascript
Node 搭建一个静态资源服务器的实现
May 20 Javascript
layui实现二维码弹窗、并下载到本地的方法
Sep 25 Javascript
nestjs返回给前端数据格式的封装实现
Feb 22 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获取随机数组列表的方法
2014/11/13 PHP
php约瑟夫问题解决关于处死犯人的算法
2015/03/23 PHP
PHP中实现Bloom Filter算法
2015/03/30 PHP
php+ajax实现带进度条的上传图片功能【附demo源码下载】
2016/09/14 PHP
PHP解决高并发的优化方案实例
2020/12/10 PHP
AJAX架构之Dojo篇
2007/04/10 Javascript
js实现简单模态窗口,背景灰显
2008/11/14 Javascript
jQuery 1.4 15个你应该知道的新特性(译)
2010/01/24 Javascript
一个支付页面DEMO附截图
2014/07/22 Javascript
使用node.js 制作网站前台后台
2014/11/13 Javascript
jQuery中element选择器用法实例
2014/12/29 Javascript
基于JQuery打造无缝滚动新闻步骤详解
2016/03/31 Javascript
node.js 中国天气预报 简单实现
2016/06/06 Javascript
深入理解JS中的Function.prototype.bind()方法
2016/10/11 Javascript
vue 和vue-touch 实现移动端左右导航效果(仿京东移动站导航)
2017/04/22 Javascript
JS实现动态添加DOM节点和事件的方法示例
2017/04/28 Javascript
Node学习记录之cluster模块
2017/05/31 Javascript
用ES6写全屏滚动插件的示例代码
2018/05/02 Javascript
小程序和web画三角形实现解析
2019/09/02 Javascript
JS中比Switch...Case更优雅的多条件判断写法
2019/09/05 Javascript
JavaScript中0、空字符串、'0'是true还是false的知识点分享
2019/09/16 Javascript
Layui弹框中数据表格中可双击选择一条数据的实现
2020/05/06 Javascript
VUE子组件向父组件传值详解(含传多值及添加额外参数场景)
2020/09/01 Javascript
[02:52]2017DOTA2国际邀请赛中国区预选赛晋级之路
2017/07/03 DOTA
[01:34]DAC2018主赛事第四日五佳镜头 Gh巨牙海民助Miracle-死里逃生
2018/04/07 DOTA
Python time库基本使用方法分析
2019/12/13 Python
音频处理 windows10下python三方库librosa安装教程
2020/06/20 Python
戴尔美国官方折扣店:Dell Outlet
2018/02/13 全球购物
Hotels.com加拿大:领先的在线住宿网站
2018/10/05 全球购物
应付会计岗位职责
2013/12/12 职场文书
十佳党员事迹材料
2014/08/28 职场文书
授权委托书协议书
2014/10/16 职场文书
教师党员学习十八届四中全会思想汇报
2014/11/03 职场文书
死亡赔偿协议书
2015/01/28 职场文书
市场督导岗位职责
2015/04/10 职场文书
2016幼儿园新学期寄语
2015/12/03 职场文书