Всем доброго времени суток.
Вообще, я программист, но с JavaScript опыта большого нет. Поэтому не судите слишком строго, если буду нести ярунду.Вопрос такой. В php формируется текст страницы, который содержит в себе элемент типа <div id="div1">blablabla</div>.
Нужно в Javascript узнать высоту элемента(или нижнюю границу)? document.getElementById( "div1" ).style.height выдаёт пусто. Определить размер дива в пхп нельзя. Контент заранее неизвестен.Возникает опасение, что этого сделать нельзя, но я рассуждаю примерно так: браузер, при рендеринге страницы определяет размер дива, значит, она известна браузеру, но вот как к ней добраться?
Будут ли предложения?
>Всем доброго времени суток.
>Вообще, я программист, но с JavaScript опыта большого нет. Поэтому не судите
>слишком строго, если буду нести ярунду.
>
>Вопрос такой. В php формируется текст страницы, который содержит в себе элемент типа <div id="div1">blablabla</div>.
>Нужно в Javascript узнать высоту элемента(или нижнюю границу)? document.getElementById( "div1" ).style.height выдаёт
>пусто. Определить размер дива в пхп нельзя. Контент заранее неизвестен.
>
>Возникает опасение, что этого сделать нельзя, но я рассуждаю примерно так: браузер,
>при рендеринге страницы определяет размер дива, значит, она известна браузеру, но
>вот как к ней добраться?
>
>Будут ли предложения?
могу предложить воспользоваться вот такой простенькой JavaScript функцией:<script>
function viewObject(name)
{
var obj = eval(name), i;if(!obj)
{
alert("\""+name+"\" ia not an object");
return;
}var w_Test = open("","Test","width=600,height=500,scrollbars=1");
if(!w_Test)
{
alert("Cannot open window for "+name);
return;
}w_Test.document.open();
for(i in obj)
w_Test.document.write(name+"."+i+"="+obj[i]+"<br>");w_Test.document.close();
}
</script>просто временно добавьте ее к выходному HTML и вызовите ПОСЛЕ того, как отрисуется ваш div:
<script>
viewObject(document.getElementById('div1'));
</script>октроется попап с описанием свойств объекта. Функцию также можно натравливать на определенные массивы свойст объекта, например:
<script>
viewObject(document.getElementById('div1').style);
</script>Очень удобно. Если смотреть в разных браузерах, то видно, чем отличается описание объекта в них.
Конретно по вашему примеру, насколько я помню, высоту вашего дива можно узнать вот таким образом:
<script>
alert(document.getElementById('div1').offsetHeight);
</script>т.е. место, занимаемое объектом по высоте;
Спасибо.
Нашёл таким образом свойство clientHeight. Вроде то, что нужно.
>Спасибо.
>Нашёл таким образом свойство clientHeight. Вроде то, что нужно.
Это только вроде под ослика?
>>Спасибо.
>>Нашёл таким образом свойство clientHeight. Вроде то, что нужно.
>
>
>Это только вроде под ослика?В FF 1.0.4 работает. Это точно.
В IE тоже.