Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Javascript

8.0K
30 августа 2005 года
AndreyVL
8 / / 11.10.2004
Народ, подскажите, как с помощью JS узнать высоту таблицы, если высота не задана в атрибутах <table> ни я в явном виде, ни style. Вообще, возможно ли ето?
8
30 августа 2005 года
mfender
3.5K / / 15.06.2005
Цитата:
Originally posted by AndreyVL
Народ, подскажите, как с помощью JS узнать высоту таблицы, если высота не задана в атрибутах <table> ни я в явном виде, ни style. Вообще, возможно ли ето?


Не возможно.
Как вариант, попробуй в этой таблице растянуть какую-нибудь картинку на 100% по высоте и измерить её длину. Да и то - врядли. Будет те же 100%...

8.0K
30 августа 2005 года
AndreyVL
8 / / 11.10.2004
Цитата:
Originally posted by mfender
Не возможно.
Как вариант, попробуй в этой таблице растянуть какую-нибудь картинку на 100% по высоте и измерить её длину. Да и то - врядли. Будет те же 100%...



Еще как можно:
document.getElementById("mytable").offsetHeight;
на другом форуме подсказали. Проверил, работает отлично.

13K
01 сентября 2005 года
avm
1 / / 01.09.2005
Цитата:
Originally posted by AndreyVL
Еще как можно:
document.getElementById("mytable").offsetHeight;
на другом форуме подсказали. Проверил, работает отлично.


Поделись где нашёл, а то я ничего не нашел о getElementById("mytable").offsetHeight.

8.0K
02 сентября 2005 года
AndreyVL
8 / / 11.10.2004
Цитата:
Originally posted by avm
Поделись где нашёл, а то я ничего не нашел о getElementById("mytable").offsetHeight.



Просто на другом форуме спросил, написпали ответ только эту строчку. форум сайта http://www.webscript.ru

11K
02 сентября 2005 года
AndrewStephanof
17 / / 14.07.2005
Цитата:
Originally posted by AndreyVL
Просто на другом форуме спросил, написпали ответ только эту строчку. форум сайта http://www.webscript.ru


В общем-то в спецификации DOM нет такого свойства, как offsetHeight, так что это возможно из объектной модели IE и не факт, что корректно будет работать в других браузерах.

31K
16 августа 2007 года
mantyr
1 / / 16.08.2007
Цитата: AndrewStephanof
В общем-то в спецификации DOM нет такого свойства, как offsetHeight, так что это возможно из объектной модели IE и не факт, что корректно будет работать в других браузерах.



Столкнулся с тем, что offsetHeight в некоторых случаях выдаёт ноль, при этом не могу понять в каких именно. Если кто разбирался, скиньте описание.

12K
17 августа 2007 года
wedmed
32 / / 10.12.2006
Цитата: AndrewStephanof
В общем-то в спецификации DOM нет такого свойства, как offsetHeight, так что это возможно из объектной модели IE и не факт, что корректно будет работать в других браузерах.


В спецификации DOM его и не может быть- он в спецификации JavaScript 1.2 Корректно работает везде.

Цитата:

Столкнулся с тем, что offsetHeight в некоторых случаях выдаёт ноль,


Значит ты скорее всего подталкиваешь в таблицу данные динамически и в какой-то момент спрашиваешь высоту таблицы. Так вот, если 0 , значит в ней нет контента на тот момент, когда ты её спрашиваешь.
А вообще JavaScript- это интерпретатор, и когда на нём пишешь- надо об этом помнить. Если у тебя есть функция, которая в определенный момент должна получить id элемента и высчитать его высоту:
- убедись, что этот элемент уже создан
- убедись, что он набит нужным тебе контентом
- по возможности не замыкай вызов ф-ии на событийную модель, т.к. в каждом браузере она реализована несколько по-своему- посто поставь вызов ф-ии в тексте кода после нужного шага и ты в большинстве случаев будешь застрахован от ошибок с синхронизацией...
Только в твоем случае все может быть куда сложнее-дело в том, что(как выяснилось) innerHTML, которым часто производят фаршировку блочных элементов- браузер запихивает в отдельный процесс и выполняет в отдельном триде, так что если ты неверно построишь синхронизацию- ты просто не увидишь высоту в определенный момент.

12
19 августа 2007 года
alekciy
3.0K / / 13.12.2005
Цитата: avm
Поделись где нашёл, а то я ничего не нашел о getElementById("mytable").offsetHeight.


http://developer.mozilla.org/en/docs/DOM:element.offsetHeight

12
19 августа 2007 года
alekciy
3.0K / / 13.12.2005
Цитата: AndrewStephanof
В общем-то в спецификации DOM нет такого свойства, как offsetHeight, так что это возможно из объектной модели IE и не факт, что корректно будет работать в других браузерах.


Да, ты прав, это из DHTML от MS.

Цитата:
offsetHeight is part of the MSIE's DHTML object model. offsetHeight is not part of any W3C specification or technical recommendation.


Но его понимают IE4.0+, FF1.0+, Netscape6.0+, Opera7.0+, Safari1.0+ поэтом его можно спокойно использовать.

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог