JS中怎么获取input所在页面的绝对坐标
2014-08-08 17:46
417 查看
HTMLElement.offsetLeft
HTMLElement.offsetHeight
但 是需要注意的是,这两个属性所储存的数值并不是该元素相对整个浏览器画布的绝对位置,而是相对于其父元素位置的相对位置,也就是说这两个数值得到的是以其 父元素左上角为(0,0)点从而计算出的数值。那么如何得到一个HTML元素的绝对位置呢,可以用以下函数:
代码如下:
//获取元素的纵坐标
function getTop(e){
var offset=e.offsetTop;
if(e.offsetParent!=null) offset+=getTop(e.offsetParent);
return offset;
}
//获取元素的横坐标
function getLeft(e){
var offset=e.offsetLeft;
if(e.offsetParent!=null) offset+=getLeft(e.offsetParent);
return offset;
}
其原理就是利用HTMLElement.offsetParent属性,如果当前元素的父元素不是空(null),则在原本的offsetTop基础上加上当前的offsetTop,然后继续获取父元素的父元素的offsetTop,再将其加之,最终递归出该元素相对于整个浏览器画布的纵坐标。横坐标亦然。
HTMLElement.offsetHeight
但 是需要注意的是,这两个属性所储存的数值并不是该元素相对整个浏览器画布的绝对位置,而是相对于其父元素位置的相对位置,也就是说这两个数值得到的是以其 父元素左上角为(0,0)点从而计算出的数值。那么如何得到一个HTML元素的绝对位置呢,可以用以下函数:
代码如下:
//获取元素的纵坐标
function getTop(e){
var offset=e.offsetTop;
if(e.offsetParent!=null) offset+=getTop(e.offsetParent);
return offset;
}
//获取元素的横坐标
function getLeft(e){
var offset=e.offsetLeft;
if(e.offsetParent!=null) offset+=getLeft(e.offsetParent);
return offset;
}
其原理就是利用HTMLElement.offsetParent属性,如果当前元素的父元素不是空(null),则在原本的offsetTop基础上加上当前的offsetTop,然后继续获取父元素的父元素的offsetTop,再将其加之,最终递归出该元素相对于整个浏览器画布的纵坐标。横坐标亦然。
相关文章推荐
- js获取页面控件的绝对位置
- JS获取最底层iframe页面中鼠标点击的坐标
- [转载]获取html绝对坐标 屏蔽Ctrl+V 按回车键直接登录 js代码 .
- js获取触发事件元素在整个网页中的绝对坐标(示例代码)
- 获取html元素所在页面的坐标
- JS获取本地文件所在的绝对路径
- JS获取页面所有input type=“text”的ID和value
- js获取对象的绝对坐标
- JS 获取页面元素坐标
- 在页面中 js 获取光标/鼠标的坐标,获取光标的的像素坐标
- JS获取页面所有input type=“text”的ID和value
- js获取鼠标当前所在页面位置
- 在JS中获取页面form中的一个TEXT元素的坐标值
- 获取页面某一元素的绝对X,Y坐标,可以用offset()方法
- JS 获取页面元素坐标
- JS获取area元素坐标和鼠标在页面中的位置
- JS获取input file绝对路径问题
- Js获取元素在页面里的坐标位置和宽高
- [转]js获取table中td的绝对坐标
- js获取对象的绝对坐标