Obter posição real dos objetos em Javascript com o Chrome
Eu tenho codificado um pouco de Javascript para colocar um patinho aleatoriamenteesta página.
Eu queria escondê-lo ao lado de objetos (como as postagens), mas acabei tendo que codificá-lo um pouco, pois não consegui recuperar a posição real de objetos relativos com o Chrome. Eu li algumas coisas sobre isso e usei o método offsetParent recursivo, mas não obtive bons resultados.
O último pedaço de código que tentei foi o seguinte:
var getPost = function (obj) {
var pos = {'x':0,'y':0};
if(obj.offsetParent) {
while(1) {
pos.x += obj.offsetLeft;
pos.y += obj.offsetTop;
if(!obj.offsetParent) {
break;
}
obj = obj.offsetParent;
}
} else if(obj.x) {
pos.x += obj.x;
pos.y += obj.y;
}
return pos;
}
Este código não funciona no Chrome, exceto em objetos com uma posição absoluta (definida com CSS).
Existe uma maneira boa, entre navegadores, de conseguir isso?