2013-01-11 115 views
5

你好如何获得没有jQuery的固定元素的位置?

我有固定位置的元件,我无法检测位置,并且必须采用javascript清楚,无框架(jquery的,mootools的,等等)。

+1

可能重复:http://stackoverflow.com/questions/442404/dynamically-retrieve-the-position-xy-of-an-html -element –

回答

2
function findPos(obj) { 

    var curleft = curtop = 0; 

    if (obj.offsetParent) 
    do { 
     curleft += obj.offsetLeft; 
     curtop += obj.offsetTop; 

    } while (obj = obj.offsetParent); 

    return [curleft,curtop]; 
} 

http://www.quirksmode.org/js/findpos.html

+0

语法错误“if(obj.offsetParent){” –

+0

@Totty您是否正确使用了该函数?你是否传入了一个实际的元素而不是ID字符串? –

+0

首先你有一个语法问题,你打开“{”(看看“if(obj.offsetParent){”)但你不关闭它!你有没有读过你自己的代码?无论如何,这不适用于滚动的div。 –

3

这是否帮助:

document.getElementById('id').offsetLeft // + window.scrollX 
document.getElementById('id').offsetTop // + window.scrollY 

你可能想看看:This Question

6

用途:

var boundingBox = node.getBoundingClientRect(); 

检查出来的结果,你有一个这样的对象:

top : 0, 
right : 0, 
bottom : 0, 
left : 0, 
width : 0, 
height : 0 
相关问题