Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 23.12.2010, 12:23
Новичок на форуме
Отправить личное сообщение для Romanroman Посмотреть профиль Найти все сообщения от Romanroman
 
Регистрация: 10.09.2010
Сообщений: 9

Не отрабатывает скрипт
Господа, можете ли подсказать, почему сложилась такая ситуация:
в CSS
Код:
#id1
{
height:10px;
}
Соответственно скрипт:
function HH()
{
alert(document.getElementById('id1').style.height);
}


В теле:
<div id="id1" onclick="HH()">Узнать высоту этого дива</div>




Алерт выдает не высоту элемента, а пустое окно. Выдает корректное значение только, если принудительно скриптом задать высоту для элемента.
В чем может быть загвоздка?
Ответить с цитированием
  #2 (permalink)  
Старый 23.12.2010, 13:44
Профессор
Отправить личное сообщение для Sweet Посмотреть профиль Найти все сообщения от Sweet
 
Регистрация: 16.03.2010
Сообщений: 1,618

В том, что свойство .style дает доступ к атрибуту style. В данном случае свойство задано не через атрибут, поэтому в .style.height находится пустая строка. Используй методы getComputedStyle/currentStyle
Ответить с цитированием
  #3 (permalink)  
Старый 23.12.2010, 13:48
Профессор
Отправить личное сообщение для Sweet Посмотреть профиль Найти все сообщения от Sweet
 
Регистрация: 16.03.2010
Сообщений: 1,618

<style>
#id1
{
height:10px;
}
</style>
<div id="id1" onclick="HH(this)">Узнать высоту этого дива</div>
<script type="text/javascript">
function HH(element)
{
var computedStyle = element.currentStyle || window.getComputedStyle(element, null);
alert(computedStyle.height);
}
</script>
Ответить с цитированием
  #4 (permalink)  
Старый 23.12.2010, 14:29
Новичок на форуме
Отправить личное сообщение для Romanroman Посмотреть профиль Найти все сообщения от Romanroman
 
Регистрация: 10.09.2010
Сообщений: 9

Тогда еще один встречный вопрос, как можно использовать полученную высоту для вычисления? если работать методом parseint(computedStyle), то алерт показывает не числовую переменную

Последний раз редактировалось Romanroman, 23.12.2010 в 14:34.
Ответить с цитированием
  #5 (permalink)  
Старый 23.12.2010, 15:05
Новичок на форуме
Отправить личное сообщение для Romanroman Посмотреть профиль Найти все сообщения от Romanroman
 
Регистрация: 10.09.2010
Сообщений: 9

И еще один вопрос: как найти реальную высоту в пискелях у дива, если стилем прописано процентное соотношение?
Ответить с цитированием
  #6 (permalink)  
Старый 23.12.2010, 15:34
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,217

Сообщение от Romanroman
лерт показывает не числовую переменную
Как вариант...

var a='1'
var b=2
alert(+a+b)


Сообщение от Romanroman
как найти реальную высоту в пискелях у дива, если стилем прописано процентное соотношение?
Он тебе её цифрами в пикселях и вернёт... Недавно кто-то с обратной проблемой озадачивался...
Ответить с цитированием
  #7 (permalink)  
Старый 23.12.2010, 16:22
Новичок на форуме
Отправить личное сообщение для Romanroman Посмотреть профиль Найти все сообщения от Romanroman
 
Регистрация: 10.09.2010
Сообщений: 9

всем спасибо, все свои задачи решил)
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не работает скрипт :( VladimirV Javascript под браузер 5 21.12.2010 14:26
Как украсть скрипт? bayah Общие вопросы Javascript 6 26.04.2010 10:32
Скрипт В IE отрабатывает корректно, но не работает в FF 3.5 Sonkkorh AJAX и COMET 11 27.07.2009 19:03
Люди, помогите адаптировать скрипт под Оперу KiLLk Opera, Safari и др. 1 01.06.2009 01:05
А как зделать скрипт, чтобы например скрипт 1 заменялся скриптом 2? yura371 Общие вопросы Javascript 3 06.01.2009 22:40