Показать сообщение отдельно
  #21 (permalink)  
Старый 13.08.2011, 13:08
Аватар для evgenybe
Интересующийся
Отправить личное сообщение для evgenybe Посмотреть профиль Найти все сообщения от evgenybe
 
Регистрация: 07.05.2011
Сообщений: 23

Сообщение от melky Посмотреть сообщение
сладко, очень сладко звучит



прошу сюда html!

кстати, код можно было и нагуглить(это не мой код):

function getAbsolutePos(el)
	{
	var r = { x: el.offsetLeft, y: el.offsetTop };
	if (el.offsetParent)
		{
		var tmp = getAbsolutePos(el.offsetParent);
		r.x += tmp.x;
		r.y += tmp.y;
		}
	return r;
	}

или вот еще
var el = document.getElementById('login');
var x = findPosX(el);
var y = findPosY(el);
 
function findPosX(obj) {
    var curleft = 0;
    if (obj.offsetParent) {
        while (1) {
            curleft+=obj.offsetLeft;
            if (!obj.offsetParent) {
                break;
            }
            obj=obj.offsetParent;
        }
    } else if (obj.x) {
        curleft+=obj.x;
    }
    return curleft;
}
 
function findPosY(obj) {
    var curtop = 0;
    if (obj.offsetParent) {
        while (1) {
            curtop+=obj.offsetTop;
            if (!obj.offsetParent) {
                break;
            }
            obj=obj.offsetParent;
        }
    } else if (obj.y) {
        curtop+=obj.y;
    }
    return curtop;
}


а вот пример и статья от этого сайта
Написал практически то же самое. Только алерты вставил.

Код:
    function findPosY(obj) {
        var curtop = 0;
        alert("2-y");
        if (obj.offsetParent) {

            while (1) {
                curtop += obj.offsetTop;
                if (!obj.offsetParent) {
                    break;
                }
                obj = obj.offsetParent;
            }
        } else if (obj.y) {
            alert("3-y");
            curtop += obj.y;
        }
        alert("4-y");
        return curtop;
    }
Первый alert("2-y"); срабатывает. А остальные нет. Следовательно из-за какой-то ошибки код туда не доходит. Подскажите, пожалуйста, что за ошибка
Ответить с цитированием