浅谈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的文本框记数器
Sep 19 Javascript
jQuery动态添加删除select项(实现代码)
Sep 03 Javascript
使用JQ来编写最基本的淡入淡出效果附演示动画
Oct 31 Javascript
jquery验证邮箱格式并显示提交按钮
Nov 07 Javascript
Bootstrap的Refresh Icon也spin起来
Jul 13 Javascript
详解微信小程序 页面跳转 传递参数
Dec 08 Javascript
基于BootStrap与jQuery.validate实现表单提交校验功能
Dec 22 Javascript
JS实现给json数组动态赋值的方法示例
Mar 19 Javascript
vue-cli如何添加less 以及sass
Jul 06 Javascript
Vue v2.5 调整和更新不完全问题
Oct 24 Javascript
Node.js中的不安全跳转如何防御详解
Oct 21 Javascript
一起来看看Vue的核心原理剖析
Mar 24 Vue.js
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数组函数序列之array_pop() - 删除数组中的最后一个元素
2011/11/07 PHP
php禁止直接从浏览器输入地址访问.php文件的方法
2014/11/04 PHP
PHP原生函数一定好吗?
2014/12/08 PHP
浅析PHP关键词替换的类(避免重复替换,保留与还原原始链接)
2015/09/22 PHP
PHP实现的迪科斯彻(Dijkstra)最短路径算法实例
2017/09/16 PHP
nicejforms——美化表单不用愁
2007/02/20 Javascript
JSON无限折叠菜单编写实例
2013/12/16 Javascript
浅谈jquery中delegate()与live()
2015/06/22 Javascript
分享我对JS插件开发的一些感想和心得
2016/02/04 Javascript
JS 通过系统时间限定动态添加 select option的实例代码
2016/06/09 Javascript
Highcharts入门之简介
2016/08/02 Javascript
如何判断出一个js对象是否一个dom对象
2016/11/24 Javascript
JavaScript实现Fly Bird小游戏
2016/12/15 Javascript
vue-cli+webpack记事本项目创建
2017/04/01 Javascript
详解Vue中过度动画效果应用
2017/05/25 Javascript
react-native android状态栏的实现
2018/06/15 Javascript
浅入深出Vue之自动化路由
2019/08/06 Javascript
[56:24]DOTA2上海特级锦标赛主赛事日 - 3 胜者组第二轮#1Liquid VS MVP.Phx第二局
2016/03/04 DOTA
详解Python中内置的NotImplemented类型的用法
2015/03/31 Python
用Python编写生成树状结构的文件目录的脚本的教程
2015/05/04 Python
python实战之实现excel读取、统计、写入的示例讲解
2018/05/02 Python
PyCharm+Qt Designer+PyUIC安装配置教程详解
2019/06/13 Python
pytorch .detach() .detach_() 和 .data用于切断反向传播的实现
2019/12/27 Python
学习Python爬虫的几点建议
2020/08/05 Python
HTML5去掉输入框type为number时的上下箭头的实现方法
2020/01/03 HTML / CSS
美国知名的女性服饰品牌:LOFT(洛芙特)
2016/08/05 全球购物
Tommy Hilfiger澳洲官网:美国高端休闲领导品牌
2020/12/16 全球购物
营销主管自我评价怎么写
2013/09/19 职场文书
探矿工程师自荐信
2014/01/24 职场文书
基层党组织公开承诺书
2014/03/28 职场文书
优秀团干部个人事迹
2014/05/29 职场文书
机电一体化专业求职信
2014/07/22 职场文书
庆祝三八妇女节标语
2014/10/09 职场文书
2014年绿化工作总结
2014/12/09 职场文书
优秀工作者事迹材料
2014/12/26 职场文书
导游词之张家界
2019/10/31 职场文书