Просмотр полной версии : Получить высоту ячейки таблицы
inlanger
07.08.2007, 13:57
Как получить высоту ячейки таблицы при помощи javascript? При записи
a = table.tr.height
alert(a)
ошибку не выдаёт, а выдаёт пустое окно алерта. Что я не так делаю?
getElementById + clientHeight
childNode + clientHeight
table-tbody
-tr
-td
возможно придется учесть еще толщину рамки
inlanger
07.08.2007, 14:08
это javascript или css ???
Не въеду в синтаксис...я немного не профи.
Это яваскрипт
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)
хм...странно...поставил так и всё заработало.
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 пикселям. Это из-за того, что фоновый рисунок нормально смотриться только в таком случае. ПАМАГИТЕ!
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;
- команда не поддерживается объектом
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
смотрел и фаерфоксом и интырнэт эксплорыром
<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 броузерах.
Главное, чтобы высота была задана в style="", или в CSS, тогда будет работать =)
e = document.getElementById( 'element_name' ).style.height;
alert(e);
inlanger
08.08.2007, 12:57
Спасибо за советы. Буду дома - буду пробовать. Получится - дам в репу ;)
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot