浅谈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 多级下拉菜单核心代码
May 21 Javascript
jQuery1.3.2 升级到jQuery1.4.4需要修改的地方
Jan 06 Javascript
addEventListener()第三个参数useCapture (Boolean)详细解析
Nov 07 Javascript
不使用jquery实现js打字效果示例分享
Jan 19 Javascript
js判断一个字符串是否包含一个子串的方法
Jan 26 Javascript
js实现仿百度汽车频道选择汽车图片展示实例
May 06 Javascript
Bootstrap每天必学之简单入门
Nov 19 Javascript
谈一谈js中的执行环境及作用域
Mar 30 Javascript
Iscrool下拉刷新功能实现方法(推荐)
Jun 26 Javascript
jQuery动态移除与增加onclick属性的方法详解
Jun 07 jQuery
利用node 判断打开的是文件 还是 文件夹的实例
Jun 10 Javascript
vue-router二级导航切换路由及高亮显示的实现方法
Jul 10 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 新手入门教程
2009/08/03 PHP
.htaccess文件保护实例讲解
2011/02/06 PHP
php class类的用法详细总结
2013/10/17 PHP
php在数组中查找指定值的方法
2015/03/17 PHP
ThinkPHP、ZF2、Yaf、Laravel框架路由大比拼
2015/03/25 PHP
PHP设计模式之 策略模式Strategy详解【对象行为型】
2020/05/01 PHP
MooTools 页面滚动浮动层智能定位实现代码
2011/08/23 Javascript
JS打开层/关闭层/移动层动画效果的实例代码
2013/05/11 Javascript
Node.js中HTTP模块与事件模块详解
2014/11/14 Javascript
JS+CSS实现感应鼠标渐变显示DIV层的方法
2015/02/20 Javascript
JS实现网站菜单拖拽移位效果的方法
2015/09/24 Javascript
18个非常棒的jQuery代码片段
2015/11/02 Javascript
javascript中获取元素标签中间的内容的实现方法
2016/10/08 Javascript
javascript checkbox/radio onchange不能兼容ie8处理办法
2017/06/13 Javascript
package.json文件配置详解
2017/06/15 Javascript
Bootstrap Tree View简单而优雅的树结构组件实例解析
2017/06/15 Javascript
详解JS获取HTML DOM元素的8种方法
2017/06/17 Javascript
Vue仿支付宝支付功能
2018/05/25 Javascript
使用iView Upload 组件实现手动上传图片的示例代码
2018/10/01 Javascript
详解vue-cli 脚手架 安装
2019/04/16 Javascript
微信小程序使用canvas自适应屏幕画海报并保存图片功能
2019/07/25 Javascript
vue2和vue3的v-if与v-for优先级对比学习
2020/10/10 Javascript
Python中的anydbm模版和shelve模版使用指南
2015/07/09 Python
Windows系统下使用flup搭建Nginx和Python环境的方法
2015/12/25 Python
opencv实现简单人脸识别
2021/02/19 Python
雅萌 (YA-MAN) :日本美容家电领域的龙头企业
2017/05/12 全球购物
《一株紫丁香》教学反思
2014/02/19 职场文书
疾病捐款倡议书
2014/05/13 职场文书
报考公务员诚信承诺书
2014/08/29 职场文书
财政局个人年终总结
2015/03/03 职场文书
2015年老干部工作总结
2015/04/23 职场文书
高三毕业感言
2015/07/30 职场文书
Go 自定义package包设置与导入操作
2021/05/06 Golang
Win11 Build 22000.51版本文件资源管理器“命令栏”和上下文菜单有什么新变化?
2021/11/21 数码科技
mysql聚集索引、辅助索引、覆盖索引、联合索引的使用
2022/02/12 MySQL
Python中request的基本使用解决乱码问题
2022/04/12 Python