Jquery中文网 www.jquerycn.cn
Jquery中文网 >  脚本编程  >  javascript  >  正文 js获取控件位置的方法

js获取控件位置的方法

发布时间:2015-03-19   编辑:www.jquerycn.cn
本文介绍下,js脚本获取网页中控件位置的方法,学习下javascript编程中操作控件的相关知识,有需要的朋友参考下。

本节内容:
js获取控件位置

假设 obj 为某个 HTML 控件。
 

obj.offsetTop 指 obj 距离上方或上层控件的位置,整型,单位像素。
obj.offsetLeft 指 obj 距离左方或上层控件的位置,整型,单位像素。
obj.offsetWidth 指 obj 控件自身的宽度,整型,单位像素。
obj.offsetHeight 指 obj 控件自身的高度,整型,单位像素。

对前面提到的“上方或上层”与“左方或上层”控件作个说明。

例如:
 

复制代码 代码示例:
<div id="tool"> 
    <input type="button" value="提交"> 
    <input type="button" value="重置"> 
</div> 
 

“提交”按钮的 offsetTop 指“提交”按钮距“tool”层上边框的距离,因为距其上边最近的是 “tool” 层的上边框。
“重置”按钮的 offsetTop 指“重置”按钮距“tool”层上边框的距离,因为距其上边最近的是 “tool” 层的上边框。

“提交”按钮的 offsetLeft 指“提交”按钮距“tool”层左边框的距离,因为距其左边最近的是 “tool” 层的左边框。
“重置”按钮的 offsetLeft 指“重置”按钮距“提交”按钮右边框的距离,因为距其左边最近的是“提交”按钮的右边框。

offsetTop 可以获得 HTML 元素距离上方或外层元素的位置,style.top 也是可以的,二者的区别是:
1、offsetTop 返回的是数字,而 style.top 返回的是字符串,除了数字外还带有单位:px。
2、offsetTop 只读,而 style.top 可读写。
3、如果没有给 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均无关)

您可能感兴趣的文章:
jquery设置控件位置的方法
js获取控件位置的方法
ExtJS设置与获取radio控件的选取状态
js jquery获取随机生成id的服务器控件的三种方法
asp.net中JS,CS 调用后台变量的值多种方法
js获取当前对象大小与屏幕分辨率
js获取本机ip地址多种方法
HTML5<datalist>标签有哪些属性?HTML5<datalist>标签的具体用法(附实例)
Python File tell() 方法
js获取屏幕高度 js屏幕属性信息

[关闭]