Помогите пожалуйста допилить код
function findPosition(oElement) {
if (typeof (oElement.offsetParent) != 'undefined') {
for (var posX = 0, posY = 0; oElement; oElement = oElement.offsetParent) {
posX += oElement.offsetLeft;
posY += oElement.offsetTop;
}
posY += 20;
return [posX, posY];
} else {
oElement.y += 20;
return [oElement.x, oElement.y];
}
}
function echo_test_div(elem) {
var get_position = findPosition(elem);
if(get_position.length == 2) {
var getdiv = document.createElement('div');
getdiv.innerHTML = 'Я див';
getdiv.style.position = 'absolute';
getdiv.style.left = get_position[0]+'px';
getdiv.style.top = get_position[1]+'px';
document.body.appendChild(getdiv);
}
}
...
<span id="ab" onclick="echo_test_div(this)">test</span>
даже в ie вставляет под элелментом, а вот chrome и сафари чего-то сдвигает элемент немного влево. и я что-то не пойму зачем цикл в функции findPosition, и откуда данные берутся в случае else ? надыбал функцию на этом форуме...