Я делаю вызов ajax. Функция, вызываемая в случае успеха, выглядит следующим образом:
function(data){
$div.html(data);
posX=window.mouseX+1;
posY=window.mouseY+1;
if(posY-$(document).scrollTop()+$div.height()>$(window).height()){
posY-=$div.height();
}
$div.css('left',posX+'px');
$div.css('top',posY+'px');
$div.appendTo($('body'));
}
Идея такова: если div, расположенный в координатах мыши, не будет соответствовать размеру браузера, то вместо этого я поместил его над указателем мыши.
Проблема в том, что $ div.height () возвращает 0, если я вызываю его перед добавлением в тело. Есть ли способ получить высоту, кроме добавления сначала и перемещения после?