Показать сообщение отдельно
  #3 (permalink)  
Старый 24.05.2011, 13:00
Аспирант
Отправить личное сообщение для debugx Посмотреть профиль Найти все сообщения от debugx
 
Регистрация: 24.05.2011
Сообщений: 40

Вот так я определяю координаты элемента, для которого будет появляться див:
$('.bubbleInfo').each(function () {
	...
	var pos = findPosition(this);
		
	function findPosition(oElement) {
		if (typeof (oElement.offsetParent) != 'undefined') {
			for (var posX = 0, posY = 0; oElement; oElement = oElement.offsetParent) {
				posX += oElement.offsetLeft;
				posY += oElement.offsetTop;
			}
			return [posX, posY];
		} else {
			return [oElement.x, oElement.y];
		}
	}
	...
});


Но не получается присвоить диву нужную позицию. В том же цикле:
$('.bubbleInfo').each(function () {
	...
	var popupWnd = document.getElementById('dpop');
	popupWnd.x = pos[0] + 'px';
	popupWnd.y = pos[1] + 'px';
	if (document.getBoxObjectFor) {
		popupWnd.style.left = popupWnd.x;
		popupWnd.style.top = popupWnd.y;
	}
	else {
		popupWnd.style.pixelLeft = popupWnd.x + document.documentElement.scrollTop;
		popupWnd.style.pixelTop = popupWnd.y + document.documentElement.scrollLeft;
	}
	...
});
Ответить с цитированием