Как узнать ширину и высоту перегруженного содержимого в блоке span (div)

Существует блок:

Что перегружено таймером:

В этом блоке id = "xCUBE" построена таблица и ее нужно проверить, она помещается в текущее окно или нет. То есть, найдите фактическую ширину окна и ширину блока, сравните, и если таблица шире экрана, попросите более короткую или более узкую таблицу. Если вы спросите ширину окна и окно на лбу, я получу ширину и высоту 0:

Скрипт не видит динамического содержимого таблицы внутри id = "xCUBE". Как получить ширину и высоту перезаряжаемого контента?

1 ответ

не следует ли вам изменять размер после добавления нового контента?

function show() {
 $.ajax({
 url: "/table/" + Math.floor(Math.random() * ( 999 )) + "/",
 cache: false,
 success: function(html){
 //do resize and pass the content
 doResize(html);
 }
 });
}


function doResize(html) {
 //append to target and measure while its not visible (but still has sizes)
 $("#xCUBE").html('<div>'+html+'</div>');
 //remember them
 cubeWidth= $("#xCUBE").width();
 cubeheight=$("#xCUBE").heigth();
 //empty that thing
 $("#xCUBE").empty()
 //append your WxH=? stuff, i hae no idea
 $('body').append('<div>Win WxH= ' + $(window).width()
 + 'x' + $(window).height() + ' (table WxH = '
 + cubeWidth + 'x' + cubeheight
 +')</div>');
 //and finally append the visible content
 $("#xCUBE").html(html);
}


$(document).ready(function(){
 //call show initially
 show();
 var k= setInterval('show()',500);
 $(window).resize(function(){
 //clear and reset interval and show imediatly, this could create thousands of ajax requests maybe some throttle, google it
 clearInterval(k);
 show();
 k=setInterval('show()',500);
 });
 });
 });

обновленный

licensed under cc by-sa 3.0 with attribution.