HTML:scrollLeft,scrollWidth,clientWidth,offsetWidth到底指的哪到哪的距离之完全详解



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.0FF1.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中的html横向滚动条样式margin属性,与clientWidthoffsetWidthclientHeightoffsetHeight均无关)
 
 
onMouseover当鼠标经过的时候,触发 = 后面的脚本函数 
onMouseout 当鼠标离开 。。 
onMouseUP 当鼠标 按下又抬起。。。 
onmousemove 当鼠标移动。。 
onmousedown 当鼠标按下时。。
 
假设 obj 为某个 HTML 控件。
obj.offsetTop obj 相对于版面或由 offsetParent 属性指定的父坐标的计算上侧位置,整型,单位像素。
obj.offsetLeft obj 相对于版面或由 offsetParent 属性指定的父坐标的计算左侧位置,整型,单位像素。
obj.offsetWidth obj 控件自身的绝对宽度,不包括因 overflow 而未显示的部分,也就是其实际占据的宽度,整型,单位像素。
obj.offsetHeight obj 控件自身的绝对高度,不包括因 overflow 而未显示的部分,也就是其实际占据的高度,整型,单位像素。
我们对前面提到的 offsetParent 作个说明。
offsetParent 获取定义对象 offsetTop offsetLeft 属性的容器对象的引用。offsetTop off
setParent 很复杂,不同浏览器有不同解释,浮动一下解释又不同了,所以我们一般只要理解通过二者可以获得控件在浏览器中的绝对位置即可。
以上属性在 FireFox 中也有效。
另外:我们这里所说的是指 HTML 控件的属性值,并不是 document.bodydocument.body 的值在不同浏览器中有不同解释(实际上大多数环境是由于对 document.body 解释不同造成的,并不是由于对 offset 解释不同造成的)
 
 
我们知道 offsetTop 可以获得 HTML 元素距离上方或外层元素的位置,p 也是可以的,二者的区别是:
一、offsetTop 返回的是数字,而 p 返回的是字符串,除了数字外还带有单位:px
二、offsetTop 只读,而 p 可读写。
三、如果没有给 HTML 元素指定过 top 样式,则 p 返回的是空字符串。
offsetLeft style.leftoffsetWidth style.widthoffsetHeight style.height 也是同样道理。
 
 
clientHeight
大家对 clientHeight 都没有什么异议,都认为是内容可视区域的高度,也就是说页面浏览器中可以看到内容的这个区域的高度,一般是最后一个工具条以下到状态栏以上的这个区域,与页面内容无关。
offsetHeight
IEOpera 认为 offsetHeight = clientHeight + 滚动条 + 边框。
NSFF 认为 offsetHeight 是网页内容实际高度,可以小于 clientHeight
scrollHeight
IEOpera 认为 scrollHeight 是网页内容实际高度,可以小于 clientHeight
NSFF 认为 scrollHeight 是网页内容高度,不过最小值是 clientHeight
简单地说
clientHeight 就是透过浏览器看内容的这个区域高度。
NSFF 认为 offsetHeight scrollHeight 都是网页内容高度,只不过当网页内容高度小于等于 clientHeight 时,scrollHeight 的值是 clientHeight,而 offsetHeight 可以小于 clientHeight
IEOpera 认为 offsetHeight 是可视区域 clientHeight 滚动条加边框。scrollHeight 则是网页内容实际高度。
同理
clientWidthoffsetWidth scrollWidth 的解释与上面相同,只是把高度换成宽度即可。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。