Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Общие вопросы > Как определить размер таблицы


Автор: anthrax 12.1.2004, 23:19
Есть попап оконо браузера в котором выводится таблица с неважно какими данными в ячейках. Так вот как определить высоту этой таблицы в пикселях, чтоб потом это значение использовать в sizeTo(), которая будет изменять размер окна как раз под размер этой таблицы?

спасибо за внимание.

Автор: [xoodo] 13.1.2004, 02:23
Попробуй так:

<body onLoad="get_width()">
...
<table id="my_table">
...

Код
<script type="text/javascript">
function get_width()
{
   w=document.getElementById("my_table").width;
   alert(w); //test
   window.resizeTo(w,h);
}
</script>


ИЕ 5+, НН 6+, Опера 5+. Если не путаю.

Автор: anthrax 13.1.2004, 16:11
Если таблица задана как:

<table width="200px" id="my_table">

то document.getElementById("my_table").width возвращает 200px,
а если таблица вида

<table id="my_table">, то width ничего не возвращает

мне же надо, чтоб возвращался размер таблицы в любом случае

Автор: Dr.Death 13.1.2004, 17:25
Попробуй так:
Код

<script type="text/javascript">
function get_width()
{
  var t=document.getElementById("my_table")
 [B] t.style.position="absolute"[/B]
  w=t.width
  alert(w); //test
  window.resizeTo(w,h);
}
</script>

Автор: [xoodo] 13.1.2004, 17:54
А в чем принципиальная разница? От того, что таблица передвинется, что-то изменится разве? Приду домой -- поэкспериментирую...

Вот я и дома. По идее, даже:
document.getElementById("my_table").style.width;

А вот что я обнаружил:
Код
t=document.getElementById("my_table").style.width;
alert(t);    // "пустой" алерт
t+=0;       // по идее, ничего не изменится
alert(t);    // "0px" алертит


Это меня озадачило. Т.е. просто так ширину не получить. Даже у таблицы, которая заполнена, т.е. имеет вполне человеческую и очень отличную от нуля ширину, ее не извлечь таким способом, а именно, получим пустоту и потом 0 (см. код).

Помог, блин... 8(

Автор: anthrax 14.1.2004, 10:59
Kak ne kruchu -nichego ne pomogaet ..... :-(

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)