浅谈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中的eval函数
Nov 02 Javascript
匹配任意字符的正则表达式写法
Apr 29 Javascript
浅谈Javascript鼠标和滚轮事件
Jun 27 Javascript
JS实现弹出居中的模式窗口示例
Jun 20 Javascript
Angular 页面跳转时传参问题
Aug 01 Javascript
原生JS取代一些JQuery方法的简单实现
Sep 20 Javascript
jQuery Validate验证表单时多个name相同的元素只验证第一个的解决方法
Dec 24 Javascript
Bootstrap table学习笔记(2) 前后端分页模糊查询
May 18 Javascript
vue.js $refs和$emit 父子组件交互的方法
Dec 20 Javascript
JS实现的缓冲运动效果示例
Apr 30 Javascript
了解JavaScript函数中的默认参数
May 30 Javascript
layui的表单提交以及验证和修改弹框的实例
Sep 09 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/12/05 PHP
JS去除字符串的空格增强版(可以去除中间的空格)
2009/08/26 Javascript
js预载入和JavaScript Image()对象使用介绍
2011/08/28 Javascript
jQuery学习笔记 更改jQuery对象
2012/09/19 Javascript
javascript使用中为什么10..toString()正常而10.toString()出错呢
2013/01/11 Javascript
基于Jquery实现仿百度百科右侧导航代码附源码下载
2015/11/27 Javascript
ionic实现可滑动的tab选项卡切换效果
2020/04/15 Javascript
Vue.js实战之利用vue-router实现跳转页面
2017/04/01 Javascript
详解webpack 多页面/入口支持&amp;公共组件单独打包
2017/06/29 Javascript
JS/HTML5游戏常用算法之碰撞检测 地图格子算法实例详解
2018/12/12 Javascript
基于Vue实现电商SKU组合算法问题
2019/05/29 Javascript
Vue 禁用浏览器的前进后退操作
2020/09/04 Javascript
js实现简易拖拽的示例
2020/10/26 Javascript
Vue——前端生成二维码的示例
2020/12/19 Vue.js
three.js显示中文字体与tween应用详析
2021/01/04 Javascript
node.js文件的复制、创建文件夹等相关操作
2021/02/05 Javascript
详解Python中open()函数指定文件打开方式的用法
2016/06/04 Python
对于Python中RawString的理解介绍
2016/07/07 Python
python中Matplotlib实现绘制3D图的示例代码
2017/09/04 Python
谈谈python中GUI的选择
2018/03/01 Python
python实现百度语音识别api
2018/04/10 Python
pandas.DataFrame选取/排除特定行的方法
2018/07/03 Python
使用pyshp包进行shapefile文件修改的例子
2019/12/06 Python
opencv-python 读取图像并转换颜色空间实例
2019/12/09 Python
python字符串拼接+和join的区别详解
2020/12/03 Python
毕业生个人投资创业计划书
2014/01/04 职场文书
策划创业计划书
2014/02/06 职场文书
营销经理工作检讨书
2014/11/03 职场文书
销售工作决心书
2015/02/04 职场文书
公司员工辞职信范文
2015/05/12 职场文书
教师节随笔
2015/08/15 职场文书
私人贷款担保书该怎么写呢?
2019/07/02 职场文书
四年级作文之说明文作文
2019/10/14 职场文书
手残删除python之后的补救方法
2021/06/26 Python
python可视化之颜色映射详解
2021/09/15 Python
Python必备技巧之函数的使用详解
2022/04/04 Python