PDA

Просмотр полной версии : Получить высоту ячейки таблицы


inlanger
07.08.2007, 13:57
Как получить высоту ячейки таблицы при помощи javascript? При записи
a = table.tr.height
alert(a)
ошибку не выдаёт, а выдаёт пустое окно алерта. Что я не так делаю?

inv
07.08.2007, 13:59
getElementById + clientHeight
childNode + clientHeight
table-tbody
-tr
-td
возможно придется учесть еще толщину рамки

inlanger
07.08.2007, 14:08
это javascript или css ???
Не въеду в синтаксис...я немного не профи.

inv
07.08.2007, 14:30
Это яваскрипт

clientTop
clientHeight

http://www.webmaster.ee/javascript/js.html

inlanger
07.08.2007, 15:59
Спасибо. Плюсег дал, юзаю подсказку

inlanger
07.08.2007, 17:27
var a = document.getElementsById(bott).clientHeight
alert(a)

что тут неправильно??

inlanger
07.08.2007, 17:34
var a = document.getElementById("td1").clientHeight
alert(a)

хм...странно...поставил так и всё заработало.

inv
07.08.2007, 17:56
var a = document.getElementsById(bott).clientHeight

если

bott была не переменной а строкой то ты забыл поставить кавычки
И не забудь что еще есть рамка,если она играет конечно роль ...

inlanger
07.08.2007, 18:04
блин, ошибки - то перестало выдавать, но тупо на скрипт страница не раегирует:

<script name="javascript">
var a = document.getElementById("td1").clientHeight;
var b = a%50;
while (b!=0)
{
a = a+1;
b = a%50;
}
document.getElementById("td1").Height = a;
</script>

Смысл скрипта в том, чтобы высота строки таблицы была кратна 50 пикселям. Это из-за того, что фоновый рисунок нормально смотриться только в таком случае. ПАМАГИТЕ!

inv
07.08.2007, 18:27
var $h = document.getElementById("td1").clientHeight ;
document.getElementById("td1").clientHeight = Math.ceil($h/50)*50;


Добавлено:
неправильно!)

inlanger
07.08.2007, 18:34
var $h = document.getElementById("td1").clientHeight ;
document.getElementById("td1").clientHeight = Math.ceil($h/50)*50;

- команда не поддерживается объектом

inv
07.08.2007, 18:39
onlyforread maybe


<style>
#td1
{
border:1px #000000 solid;
display:block;
width:100px;
height:10px;
}
</style>
<table><tr><td id='td1'>
</td></tr></table>
<script>
var $h = document.getElementById("td1").clientHeight ;//в опере было 12 так как учитывалась рамка внизу и вверху
document.getElementById("td1").style.height = Math.ceil($h/50)*50;
</script>

inlanger
07.08.2007, 19:37
http://alvisid.110mb.com/index2.htm
так же само криво отображается...

inlanger
07.08.2007, 22:25
смотрел и фаерфоксом и интырнэт эксплорыром

inv
08.08.2007, 11:21
<script name="javascript">
function OnLoadTd()
{
var a = document.getElementById("td1");
var $h = a.clientHeight ;
a.style.height = Math.ceil($h/50)*50;
document.title = document.title+='..height : '+a.style.height;
}
window.onload = OnLoadTd;
</script>


Если сделать после загрузки страницы-то работает в 3 броузерах.

Raz0r
08.08.2007, 12:27
Главное, чтобы высота была задана в style="", или в CSS, тогда будет работать =)

e = document.getElementById( 'element_name' ).style.height;
alert(e);

inlanger
08.08.2007, 12:57
Спасибо за советы. Буду дома - буду пробовать. Получится - дам в репу ;)