js获取元素在浏览器中的绝对位置


Posted in Javascript onJuly 24, 2010

JavaScript中提供获取HTML元素位置的属性:

HTMLElement.offsetLeft
HTMLElement.offsetHeight
但 是需要注意的是,这两个属性所储存的数值并不是该元素相对整个浏览器画布的绝对位置,而是相对于其父元素位置的相对位置,也就是说这两个数值得到的是以其 父元素左上角为(0,0)点从而计算出的数值。那么如何得到一个HTML元素的绝对位置呢,可以用以下函数:

//获取元素的纵坐标 
function getTop(e){ 
var offset=e.offsetTop; 
if(e.offsetParent!=null) offset+=getTop(e.offsetParent); 
return offset; 
} 
//获取元素的横坐标 
function getLeft(e){ 
var offset=e.offsetLeft; 
if(e.offsetParent!=null) offset+=getLeft(e.offsetParent); 
return offset; 
}

其原理就是利用HTMLElement.offsetParent属性,如果当前元素的父元素不是空(null),则在原本的offsetTop基础上加上当前的offsetTop,然后继续获取父元素的父元素的offsetTop,再将其加之,最终递归出该元素相对于整个浏览器画布的纵坐标。横坐标亦然。
Javascript 相关文章推荐
jQuery 打造动态下滑菜单实现说明
Apr 15 Javascript
本地图片预览(支持IE6/IE7/IE8/Firefox3)经验总结
Mar 25 Javascript
js导航栏单击事件背景变换示例代码
Jan 13 Javascript
jQuery使用prepend()方法在元素前添加内容用法实例
Mar 26 Javascript
JS控制弹出悬浮窗口(一览画面)的实例代码
May 30 Javascript
浅谈JavaScript对象的创建方式
Jun 13 Javascript
angular bootstrap timepicker TypeError提示怎么办
Jun 13 Javascript
vue如何截取字符串
May 06 Javascript
Javascript三种字符串连接方式及性能比较
May 28 Javascript
使用js实现单链解决前端队列问题的方法
Feb 03 Javascript
vue配置多代理服务接口地址操作
Sep 08 Javascript
React服务端渲染原理解析与实践
Mar 04 Javascript
几个有趣的Javascript Hack
Jul 24 #Javascript
用jquery实现等比例缩放图片效果插件
Jul 24 #Javascript
js ondocumentready onmouseover onclick onmouseout 样式
Jul 22 #Javascript
javascript基础第一章 JavaScript与用户端
Jul 22 #Javascript
aspx中利用js实现确认删除代码
Jul 22 #Javascript
JS实现self的resend
Jul 22 #Javascript
JavaScript编程开发中的五个实用小技巧
Jul 22 #Javascript
You might like
实现“上一页”和“下一页按钮
2006/10/09 PHP
用PHP调用数据库的存贮过程!
2006/10/09 PHP
php统计文件大小,以GB、MB、KB、B输出
2011/05/29 PHP
简单的方法让你的后台登录更加安全(php中加session验证)
2012/08/22 PHP
PHP中大于2038年时间戳的问题处理方案
2015/03/03 PHP
使用jquery动态加载js文件的方法
2014/12/24 Javascript
JS实现IE状态栏文字缩放效果代码
2015/10/24 Javascript
谈谈javascript中使用连等赋值操作带来的问题
2015/11/26 Javascript
JavaScript中的事件委托及好处
2016/07/12 Javascript
JS动态的把左边列表添加到右边的实现代码(可上下移动)
2016/11/17 Javascript
JS代码实现电脑配置检测功能
2018/03/21 Javascript
使用Vue自定义指令实现Select组件
2018/05/24 Javascript
JS+HTML5 canvas绘制验证码示例
2018/12/05 Javascript
JavaScript类的继承操作实例总结
2018/12/20 Javascript
vue css 引入asstes中的图片无法显示的四种解决方法
2020/03/16 Javascript
基于JQuery实现页面定时弹出广告
2020/05/08 jQuery
本地文件上传到七牛云服务器示例(七牛云存储)
2014/01/11 Python
Python魔术方法详解
2015/02/14 Python
python字典DICT类型合并详解
2017/08/17 Python
基于Python实现的微信好友数据分析
2018/02/26 Python
Python 解决中文写入Excel时抛异常的问题
2018/05/03 Python
css3实现wifi信号逐渐增强效果实例
2017/08/09 HTML / CSS
英国知名的皮手套品牌:Dents
2016/11/13 全球购物
日本热销NO.1胶原蛋白冻:Aishitoto爱希特多
2019/06/20 全球购物
三星法国官方网站:Samsung法国
2019/10/31 全球购物
港湾网络笔试题
2014/04/19 面试题
科研先进个人典型材料
2014/01/31 职场文书
临床护理求职信
2014/04/26 职场文书
党的群众路线教育实践活动对照检查材料(个人)
2014/09/24 职场文书
教师辞职书范文
2015/02/26 职场文书
2015年学校禁毒工作总结
2015/05/27 职场文书
2015初中政治教学工作总结
2015/07/21 职场文书
Pytorch实现图像识别之数字识别(附详细注释)
2021/05/11 Python
MySQL之MyISAM存储引擎的非聚簇索引详解
2022/03/03 MySQL
JavaScript实现两个数组的交集
2022/03/25 Javascript
使用Cargo工具高效创建Rust项目
2022/08/14 Javascript