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 相关文章推荐
json 定义
Jun 10 Javascript
JavaScript 对话框和状态栏使用说明
Oct 25 Javascript
Iframe自适应高度绝对好使的代码 兼容IE,遨游,火狐
Jan 27 Javascript
firebug的一个有趣现象介绍
Nov 30 Javascript
Js判断CSS文件加载完毕的具体实现
Jan 17 Javascript
JavaScript 异常处理 详解
Feb 06 Javascript
javascript结合CSS实现苹果开关按钮特效
Apr 07 Javascript
js实现新年倒计时效果
Dec 10 Javascript
Angularjs---项目搭建图文教程
Jul 08 Javascript
利用imgareaselect辅助后台实现图片上传裁剪
Mar 02 Javascript
微信小程序 setData的使用方法详解
Apr 20 Javascript
JavaScript模拟实现封装的三种方式及写法区别
Oct 27 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
php循环语句 for()与foreach()用法区别介绍
2012/09/05 PHP
基于php设计模式中单例模式的应用分析
2013/05/15 PHP
thinkphp 多表 事务详解
2013/06/17 PHP
PHP SOCKET编程详解
2015/05/22 PHP
PHP获取本周所有日期或者最近七天所有日期的方法
2018/06/20 PHP
php让json_encode不自动转义斜杠“/”的方法
2020/04/27 PHP
jquery获得keycode的示例代码
2013/12/30 Javascript
用js设置下拉框为只读的小技巧
2014/04/10 Javascript
Google 地图API Map()构造器详解
2016/08/06 Javascript
详解XMLHttpRequest(一)同步请求和异步请求
2016/09/14 Javascript
非常实用的vue导航钩子
2017/03/20 Javascript
如何在 Vue.js 中使用第三方js库
2017/04/25 Javascript
微信小程序swiper组件用法实例分析【附源码下载】
2017/12/07 Javascript
基于Vue自定义指令实现按钮级权限控制思路详解
2018/05/23 Javascript
Vue.js 事件修饰符的使用教程
2018/11/01 Javascript
JavaScript使用面向对象实现的拖拽功能详解
2019/06/12 Javascript
浅谈Vue.set实际上是什么
2019/10/17 Javascript
[00:36]DOTA2勇士令状莱恩声望物品——冥晶之厄展示
2018/05/25 DOTA
python使用win32com在百度空间插入html元素示例
2014/02/20 Python
Python实现的使用telnet登陆聊天室实例
2015/06/17 Python
Python排序搜索基本算法之插入排序实例分析
2017/12/11 Python
numpy中以文本的方式存储以及读取数据方法
2018/06/04 Python
python 协程 gevent原理与用法分析
2019/11/22 Python
浅谈Python中re.match()和re.search()的使用及区别
2020/04/14 Python
用Python开发app后端有优势吗
2020/06/29 Python
Python使用内置函数setattr设置对象的属性值
2020/10/16 Python
美国著名的团购网站:Woot
2016/08/02 全球购物
英国版MAC彩妆品牌:Illamasqua
2018/04/18 全球购物
定制iPhone和Macbook保护壳:Slick Case
2018/11/21 全球购物
异地年检委托书范本
2014/09/24 职场文书
学生通报表扬范文
2015/05/04 职场文书
2015中学学校工作总结
2015/07/20 职场文书
2015年教学副校长工作总结
2015/07/22 职场文书
2016年植树节红领巾广播稿
2015/12/17 职场文书
Python基础之字符串格式化详解
2021/04/21 Python
MySQL开启事务的方式
2021/06/26 MySQL