浅谈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 相关文章推荐
javascript URL编码和解码使用说明
Apr 12 Javascript
Prototype的Class.create函数解析
Sep 22 Javascript
给Flash加一个超链接(推荐使用透明层)兼容主流浏览器
Jun 09 Javascript
js中生成map对象的方法
Jan 09 Javascript
深入理解JavaScript系列(36):设计模式之中介者模式详解
Mar 04 Javascript
Javascript+CSS3实现进度条效果
Oct 28 Javascript
清除输入框内的空格
Dec 21 Javascript
Vue计算属性的使用
Aug 04 Javascript
深入Vue-Router路由嵌套理解
Aug 13 Javascript
详解VUE单页应用骨架屏方案
Jan 17 Javascript
实用Javascript调试技巧分享(小结)
Jun 18 Javascript
Vue使用Three.js加载glTF模型的方法详解
Jun 14 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下使用mysqli的函数连接mysql出现warning: mysqli::real_connect(): (hy000/1040): ...
2016/02/14 PHP
javascript中onmouse事件在div中失效问题的解决方法
2012/01/09 Javascript
Js中获取frames中的元素示例代码
2013/07/30 Javascript
jQuery on()绑定动态元素出现的问题小结
2016/02/19 Javascript
浅析AngularJS中的指令
2016/03/20 Javascript
基于AngularJS前端云组件最佳实践
2016/10/20 Javascript
浅谈js之字面量、对象字面量的访问、关键字in的用法
2016/11/20 Javascript
详解微信小程序入门五: wxml文件引用、模版、生命周期
2017/01/20 Javascript
canvas绘制万花筒效果(代码分享)
2017/01/20 Javascript
JS正则验证多个邮箱完整实例【邮箱用分号隔开】
2017/04/19 Javascript
Bootstrap Table从零开始
2017/06/30 Javascript
jquery实现回车键触发事件(实例讲解)
2017/11/21 jQuery
JS设计模式之策略模式概念与用法分析
2018/02/05 Javascript
vue中添加mp3音频文件的方法
2018/03/02 Javascript
js闭包学习心得总结
2018/04/17 Javascript
基于JS抓取某高校附近共享单车位置 使用web方式展示位置变化代码实例
2019/08/27 Javascript
Js代码中的span拼接问题解决
2019/11/22 Javascript
微信小程序 button样式设置为图片的方法
2020/06/19 Javascript
原生js实现随机点名
2020/07/05 Javascript
[36:17]DOTA2上海特级锦标赛 - VGL音乐会全集
2016/03/06 DOTA
Python 拷贝对象(深拷贝deepcopy与浅拷贝copy)
2008/09/06 Python
Python使用OpenCV进行标定
2018/05/08 Python
python学习笔记--将python源文件打包成exe文件(pyinstaller)
2018/05/26 Python
opencv python 图像轮廓/检测轮廓/绘制轮廓的方法
2019/07/03 Python
Python笔记之代理模式
2019/11/20 Python
Pytorch 的损失函数Loss function使用详解
2020/01/02 Python
韩国乐天网上商城:Lotte iMall
2021/02/03 全球购物
新年寄语大全
2014/04/12 职场文书
文明社区申报材料
2014/08/21 职场文书
运动会铅球比赛加油稿
2014/09/26 职场文书
领导干部整治奢华浪费之风思想汇报
2014/10/07 职场文书
整改报告格式
2014/11/06 职场文书
六年级上册《闻官军收河南河北》的教学设计
2019/11/15 职场文书
Python爬取科目四考试题库的方法实现
2021/03/30 Python
Python卷积神经网络图片分类框架详解分析
2021/11/07 Python
Vue OpenLayer测距功能的实现
2022/04/20 Vue.js