JavaScript 页面坐标相关知识整理


Posted in Javascript onJanuary 09, 2010

JavaScript 页面坐标相关知识整理
offsetTop 可以获得 HTML 元素距离上方或外层元素的位置,style.top 也是可以的,二者的区别是:

一、offsetTop 返回的是数字,而 style.top 返回的是字符串,除了数字外还带有单位:px。
二、offsetTop 只读,而 style.top 可读写。
三、如果没有给 HTML 元素指定过 top 样式,则 style.top 返回的是空字符串。

offsetLeft 与 style.left、offsetWidth 与 style.width、offsetHeight 与 style.height 也是同样道理。

scrollHeight: 获取对象的滚动高度。
scrollLeft:设置或获取位于对象左边界和窗口中目前可见内容的最左端之间的距离
scrollTop:设置或获取位于对象最顶端和窗口中可见内容的最顶端之间的距离
scrollWidth:获取对象的滚动宽度
offsetHeight:获取对象相对于版面或由父坐标 offsetParent 属性指定的父坐标的高度
offsetLeft:获取对象相对于版面或由 offsetParent 属性指定的父坐标的计算左侧位置
offsetTop:获取对象相对于版面或由 offsetTop 属性指定的父坐标的计算顶端位置
event.clientX 相对文档的水平座标
event.clientY 相对文档的垂直座标
event.offsetX 相对容器的水平坐标
event.offsetY 相对容器的垂直坐标
document.documentElement.scrollTop 垂直方向滚动的值
event.clientX+document.documentElement.scrollTop 相对文档的水平座标+垂直方向滚动的量

以上主要指IE之中,FireFox差异如下:
IE6.0、FF1.06+:
clientWidth = width + padding
clientHeight = height + padding
offsetWidth = width + padding + border
offsetHeight = height + padding + border
IE5.0/5.5:
clientWidth = width - border
clientHeight = height - border
offsetWidth = width
offsetHeight = height
(需要提一下:CSS中的margin属性,与clientWidth、offsetWidth、clientHeight、offsetHeight均无关系);

IE---------------------
网页可见区域宽 document.body.clientWidth
网页可见区域高 document.body.clientHeight
网页可见区域宽(包括边线的宽) document.body.offsetWidth
网页可见区域高(包括边线的宽) document.body.offsetHeight
网页正文全文宽 document.body.scrollWidth
网页正文全文高 document.body.scrollHeight
网页被卷去的高 document.body.scrollTop
网页被卷去的左 document.body.scrollLeft
网页正文部分上 window.screenTop
网页正文部分左 window.screenLeft
屏幕分辨率的高 window.screen.height
屏幕分辨率的宽 window.screen.width
屏幕可用工作区高度 window.screen.availHeight
屏幕可用工作区宽度 window.screen.availWidth

//对象坐标 
var oRect = document.getElementById("divHotImg").getBoundingClientRect(); 
x=oRect.left 
y=oRect.top 
//alert("("+x+","+y+")") if(ns4||ns6){ 
x = e.pageX; 
y = e.pageY; 
}
Javascript 相关文章推荐
js 纯数字不重复排列的另类方法
Jul 17 Javascript
新手常遇到的一些jquery问题整理
Aug 16 Javascript
一个分享按钮的插件使用介绍(可扩展,内附开发制作流程)
Sep 19 Javascript
玩转方法:call和apply
May 08 Javascript
JQuery实现可直接编辑的表格
Apr 16 Javascript
ES6新特性八:async函数用法实例详解
Apr 21 Javascript
基于JSON数据格式详解
Aug 31 Javascript
Vue2.0学习之详解Vue 组件及父子组件通信
Dec 12 Javascript
node+koa2+mysql+bootstrap搭建一个前端论坛
May 06 Javascript
vue实现直播间点赞飘心效果的示例代码
Sep 20 Javascript
小程序如何定位所在城市及发起周边搜索
Feb 11 Javascript
Html5生成验证码的示例代码
May 10 Javascript
了解jQuery技巧来提高你的代码
Jan 08 #Javascript
在html页面上拖放移动标签
Jan 08 #Javascript
利用js获取服务器时间的两个简单方法
Jan 08 #Javascript
JavaScript中的集合及效率
Jan 08 #Javascript
Extjs TriggerField在弹出窗口显示不出问题的解决方法
Jan 08 #Javascript
Extjs学习笔记之八 继承和事件基础
Jan 08 #Javascript
Extjs学习笔记之七 布局
Jan 08 #Javascript
You might like
关于二级目录拖拽排序的实现(源码示例下载)
2013/04/26 PHP
php查询mysql大量数据造成内存不足的解决方法
2015/03/04 PHP
PHP Web木马扫描器代码分享
2015/09/06 PHP
ThinkPHP框架表单验证操作方法
2017/07/19 PHP
thinkPHP通用控制器实现方法示例
2017/11/23 PHP
CI框架(CodeIgniter)实现的数据库增删改查操作总结
2018/05/23 PHP
PHP的mysqli_sqlstate()函数讲解
2019/01/23 PHP
详解no input file specified 三种解决方法
2019/11/29 PHP
[原创]js与自动伸缩图片 自动缩小图片的多浏览器兼容的方法总结
2007/03/12 Javascript
影响jQuery使用的14个方面
2014/09/01 Javascript
JS中Location使用详解
2015/05/12 Javascript
JS实现很实用的对联广告代码(可自适应高度)
2015/09/18 Javascript
jQuery+css3实现转动的正方形效果(附demo源码下载)
2016/01/27 Javascript
Bootstrap滚动监听(Scrollspy)插件详解
2016/04/26 Javascript
jquery模拟多级复选框效果的简单实例
2016/06/08 Javascript
js中 计算两个日期间的工作日的简单实例
2016/08/08 Javascript
js 弹出虚拟键盘修改密码的简单实例
2016/10/10 Javascript
jQuery获取选中单选按钮radio的值
2016/12/27 Javascript
JavaScript实现图像模糊化的方法实例
2017/01/15 Javascript
jQuery中的deferred对象和extend方法详解
2017/05/08 jQuery
详解使用VueJS开发项目中的兼容问题
2018/08/02 Javascript
在python中实现强制关闭线程的示例
2019/01/22 Python
Python利用神经网络解决非线性回归问题实例详解
2019/07/19 Python
python连接mysql有哪些方法
2020/06/24 Python
日本亚马逊官方网站:Amazon.co.jp
2020/04/14 全球购物
js实现弹框效果
2021/03/24 Javascript
物业管理大学生个人的自我评价
2013/10/10 职场文书
环境工程毕业生自荐信
2013/11/17 职场文书
课程设计心得体会
2013/12/28 职场文书
环境建设实施方案
2014/03/14 职场文书
党员创先争优承诺书
2014/03/26 职场文书
公司总经理任命书
2014/06/05 职场文书
小学安全工作汇报材料
2014/08/19 职场文书
解决golang结构体tag编译错误的问题
2021/05/02 Golang
python实现Nao机器人的单目测距
2021/09/04 Python
Spring Boot 实现 WebSocket
2022/04/30 Java/Android