Javascript-форум (https://javascript.ru/forum/)
-   (X)HTML/CSS (https://javascript.ru/forum/xhtml-html-css/)
-   -   Резиновая верстка CSS+JS (https://javascript.ru/forum/xhtml-html-css/5373-rezinovaya-verstka-css-js.html)

J.Az 09.10.2009 12:57

Резиновая верстка CSS+JS
 
Подскажите пожалуйста. Вроде все так просто, но не получаеца...)
есть три блока <div>. один слева со свойством float:left, два правее него, один под другим. Суммарный height обоих блоков, что справа равен height'у левого блока(ну т.е. теоретически и идеалистически ). Все стили этих блоков прописаны в прикрепленном файле '.css'.
я хочу в яваскрипте узнавать текущий height левого блока и изменять в соответсвии с ним height нижнего правого блока(верхний правый статический). Делаю так:
var left = document.getElementById("left").style.height;
var rightUp = document.getElementById("rightUp").style.height;
document.getElementById("rightDown").style.height = (left-rightUp)+'px';
Понятно, что height'ы left и rightUp - это строки и мне придется превращать его в number, просто проблема в том, что у меня элементарно не получается заставить работать код:
var left = document.getElementById("left").style.height;
alert(left);
Т.е. выскакивает просто пустое окошко оповещения...
Но если писать:
document.getElementById("left").style.height = '10px';
var left = document.getElementById("left").style.height;
alert(left);
То все работает и на экран выводится окошко с текстом '10px'.

can3p 02.11.2009 19:58

Все происходит совершенно закономерно. В style хранятся значения стилей, которые применены к данному элементу, а вам нужно фактическое значение. Стоит посмотреть в сторону clientHeight

djdish 05.11.2009 16:08

вот так в jquery
 
value = $(id_element).attr('height');
alert(value);

все напечатает!

Snowcore 05.11.2009 16:43

или так:

$(id_element).height();


Часовой пояс GMT +3, время: 09:01.