计算element相对于父容器的偏移量
2008-07-14 22:25 | Filed Under Html/JS/CSS |
如果没有提供parentId参数,则计算相对于给定element的最顶层容器的偏移量
特别需要注意的是,这里所指的父级容器,是指最近的一个有定位的元素,意即设置了position属性为absolute或者relative的
- function getOffsetXY(elementId, parentId){
- var element = document.getElementById(elementId);
- var element_X = element.offsetLeft;
- var element_Y = element.offsetTop;
- while (true) {
- if ((!element.offsetParent) || (!element.offsetParent.style) || (!!parentId && element.offsetParent.id == parentId)) {
- break;
- }
- element_X += element.offsetParent.offsetLeft;
- element_Y += element.offsetParent.offsetTop;
- element = element.offsetParent;
- }
- element_X = element_X - document.body.scrollLeft;
- element_Y = element_Y - document.body.scrollTop;
- return {
- x: element_X,
- y: element_Y
- };
- }
标签:absolute, javascript, offset, parent, position, relative, 偏移, 定位, 容器相关日志 随机文章
Comments
One Response to “计算element相对于父容器的偏移量”
Leave a Reply


嗯。
[Reply]