JS中获取对象的绝对位置
2010-12-09 13:55
218 查看
网页中,可以用[object].offsetLeft和[object].offsetTop来获得该对象(object)与其所在容器中的水平及垂直偏移量。
问题是,在FF(FireFox)中,它们是返回与BODY的偏移,而在IE中,是其所在容器中的水平及垂直偏移。
那么怎样在IE中也能获得与BODY的偏移呢?因为这个偏移才最有用,找到了这两个偏移,就相当于找到了在页面中的绝对位置。
可以变通一下:
var posX = objLookingFor.offsetLeft;
var posY = objLookingFor.offsetTop;
var aBox = objLookingFor;//需要获得位置的对象
do {
aBox = aBox.offsetParent;
posX += aBox.offsetLeft;
posY += aBox.offsetTop;
} while( aBox.tagName != "BODY" );
这样到最后,posX与posY就是与BODY的偏移。
问题是,在FF(FireFox)中,它们是返回与BODY的偏移,而在IE中,是其所在容器中的水平及垂直偏移。
那么怎样在IE中也能获得与BODY的偏移呢?因为这个偏移才最有用,找到了这两个偏移,就相当于找到了在页面中的绝对位置。
可以变通一下:
var posX = objLookingFor.offsetLeft;
var posY = objLookingFor.offsetTop;
var aBox = objLookingFor;//需要获得位置的对象
do {
aBox = aBox.offsetParent;
posX += aBox.offsetLeft;
posY += aBox.offsetTop;
} while( aBox.tagName != "BODY" );
这样到最后,posX与posY就是与BODY的偏移。
相关文章推荐
- JS中获取对象的绝对位置
- JS中获取对象的绝对位置
- js获取对象位置的方法
- js获取滚动条位置:绝对有效
- JS-获取对象位置信息
- 页面包含js的不同位置报错 SCRIPT5007: 无法获取属性“x”的值: 对象为 null 或未定义
- js获取元素在浏览器中的绝对位置
- js获取对象的绝对坐标
- js获取对象位置的方法
- js和jquery获取文档对象以及滚动条位置
- js 获取鼠标的绝对位置
- js获取页面控件的绝对位置
- js获取对象位置的方法
- js获取元素在浏览器中的绝对位置
- js获取element的相对绝对位置
- JS中获取 DOM 元素的绝对位置实例详解
- js获取滚动条位置:绝对有效
- JS 获取控件的绝对位置
- ajax|消息提示框|js获取html绝对位置 封装
- js、jq获取对象位置 对象宽高