Ширина блока на JavaScript

Ufaweb
На сайте с 03.03.2008
Offline
182
9393

Есть блок неопределенной ширины. Блок спозиционирован так, что его часть [теоретически] может уходить за левую границу окна, поэтому я не могу никак точно узнать его итоговую ширину..

Подскажите, как узнать ширину блока на JavaScript? Заранее спс за ответ :)

malls
На сайте с 08.08.2005
Offline
255
#1

h = document.getElementById('left').clientHeight

w = document.getElementById('left').clientWidth

Заранее пожалуйста! :)

Только устанавливать все равно:

document.getElementById('left').style.height = h;

document.getElementById('left').style.width = w;

Ufaweb
На сайте с 03.03.2008
Offline
182
#2
malls:
Только устанавливать все равно:
document.getElementById('left').style.height = h;
document.getElementById('left').style.width = w;

Это-то я знаю :) Долго бился головой об стену, почему же alert(document.getElementById('my').style.width) выводит undefined... :D

malls:
w = document.getElementById('left').clientWidth

Шпасибо :)

// правда, все-таки вслепую уже поправил блок, теперь влезает "вровень чтоб выпирало"))

malls
На сайте с 08.08.2005
Offline
255
#3
Ufaweb:
Это-то я знаю :) Долго бился головой об стену, почему же alert(document.getElementById('my').style.width) выводит undefined... :D

Я тоже когда то над этим страдал. DOM как выяснилось хитрая вещь! :) style.width - это предустанавливаемая ширина... А clientWidth - это ширина в клиенте.

Ради эксперимента можно задать высоту блока например 50% и посмотреть чего выдает clientWidth в разных бродилках - очень разные значения производит.

Анатолий Денисов
На сайте с 09.06.2007
Offline
48
#4

Может быть конкретно для этой задачи будет выглядеть как пушка по воробьям, но очень рекомендую http://jquery.com/ - после него начинаешь по-тихоньку забывать про кросс-браузерность в JS в том смысле, что об этом идиотизме (по-другому не назовешь разницу в работе с одним и тем же в разных браузерах) подумал уже кто-то другой :-). И при том это далеко не единственное, что есть в этой библиотеке.

ЖЖ (http://anatolydenisov.livejournal.com/), Гос. тендеры (http://tender.cmsmagazine.ru/gos/), стоимость разработки сайтов (http://www.cmsmagazine.ru/creators/price/)
[Удален]
#5

Вместо clientWidth/Height лучше использовать offsetWidth/Height - насколько я помню почти везде одинаково выдает

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий