js获取控件位置

转载 2013年12月06日 06:42:05

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

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

例如:

  1. <div id="tool">  
  2.     <input type="button" value="提交">  
  3.     <input type="button" value="重置">  
  4. </div>  

“提交”按钮的 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 也是同样道理。
 

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:www.jbxue.com
clientWidth = width - border
clientHeight = height - border
offsetWidth = width
offsetHeight = height
(需要提一下:CSS中的margin属性,与clientWidth、offsetWidth、clientHeight、offsetHeight均无关) 

相关文章推荐

js获取控件所在的位置

//获取坐标位置   function getpos(e) {       var t=e.offsetTop;       var l=e.offsetLeft;       var height=...

js获取控件位置

假设 obj 为某个 HTML 控件。 obj.offsetTop 指 obj 距离上方或上层控件的位置,整型,单位像素。 obj.offsetLeft 指 obj 距离左方或上层控件的位置,整型...
  • ahhsxy
  • ahhsxy
  • 2011年05月18日 14:15
  • 403

js 对表格的动态操作(动态添加行,删除该行,在指定位置添加控件)

***************************************************************** js动态添加表的列,并在列中添加控件的方法 添加行 func...
  • judyge
  • judyge
  • 2015年12月13日 13:44
  • 1330

Qt获取控件位置,坐标总结

总结的结果是: QMouseEvent中两类坐标系统,一类是窗口坐标,一类是显示器坐标。 总结一:经过试验,QMouseEvent::globalPos()  和 QCur...

获取View类界面控件的位置

获取在parent里的相对坐标位置     这个比较简单,不用多说,直接调用View的方法:getLeft , getTop, getBottom, getRight 获得。 获取在屏幕...

android 获取控件坐标/位置不显示问题

(原文地址:http://www.fengfly.com/plus/view-209439-1.html) 注意:获取控件位置为0,是因为在OnCreate方法中调用,都...
  • li4236
  • li4236
  • 2015年02月03日 16:28
  • 779

Qt获取控件位置,坐标总结

总结的结果是: QMouseEvent中两类坐标系统,一类是窗口坐标,一类是显示器坐标。 总结一:经过试验,QMouseEvent::globalPos()  和 QCursor:...

iOS 获取控件相对屏幕的位置

- (CGPoint)convertPoint:(CGPoint)point toView:(nullable UIView *)view; - (CGPoint)convertPoint:(CGPo...

Android中获取控件的位置宽高等信息都为0

最近在开发Launcher,界面上有一个功能是播放电视节目,也就是一个小的播放窗口。使用SurfaceView来实现的。具体的实现过程就不细说了。在设置显示界面的时候,一开始时自己根据调试写了显示的坐...

Qt获取控件位置坐标详解

1.     QPoint QMouseEvent::pos()      这个只是返回相对这个widget(重载了QMouseEvent的widget)的位置。       const Retur...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:js获取控件位置
举报原因:
原因补充:

(最多只允许输入30个字)