obj.offsetTop指 obj 距离上方或上层控件的位置, 整型, 单位 px.obj.offsetLeft指 obj 距离左方或上层控件的位置, 整型, 单位 px.obj.offsetWidth指 obj 控件自身的宽度, 整型, 单位 px.obj.offsetHeight指 obj 控件自身的高度, 整型, 单位 px.
我们对前面提到的 "上方或上层" 与 "左方或上层" 控件作个说明.
例如:
[html]
<div id="tool">
<input type="button" value="提交">
<input type="button" value="重置">
</div>
[/html]
提交 按钮的
offsetTop 指 提交 按钮距 tool 层上边框的距离, 因为距其上边最近的是 tool 层的上边框. 重置 按钮的
offsetTop 指 重置 按钮距 tool 层上边框的距离, 因为距其上边最近的是 tool 层的上边框. 提交 按钮的
offsetLeft 指提交 按钮距 tool 层左边框的距离, 因为距其左边最近的是 tool 层的左边框. 重置 按钮的
offsetLeft 指重置 按钮距 提交 按钮右边框的距离, 因为距其左边最近的是 提交 按钮的右边框. offsetTop 可以获得 HTML 元素距离上方或外层元素的位置, style.top 也是可以的, 二者的区别是:
- offsetTop 返回的是数字, 而 style.top 返回的是字符串, 除了数字外还带有单位 px.
- offsetTop 只读, 而 style.top 可读写.
- 如果没有给 HTML 元素指定过 top 样式, 则 style.top 返回的是空字符串.
offsetLeft 与 style.left, offsetWidth 与 style.width, offsetHeight 与 style.height 也是同样道理.
offsetTop, offsetLeft 在IE6, IE7下不会工作.
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
- offfsetWidth = width
- offsetHeight = height
另外, CSS中的 margin 属性, 与clientWidth, offsetWidth, clientHeight, offsetHeight均无关
对于所有的属性, 这里有详细的说明并有实例.
没有评论:
发表评论