Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Не возвращает значение с первого раза document.getElementById().style.top (https://javascript.ru/forum/misc/5017-ne-vozvrashhaet-znachenie-s-pervogo-raza-document-getelementbyid-style-top.html)

2dkott 08.09.2009 14:47

Не возвращает значение с первого раза document.getElementById().style.top
 
Привет всем,

У меня есть следуюший скрипт

<div id="titlemenu"><a onmouseover="menuUP(developing)"...

function menuUP(menu_array)
{
var pos1 = pos+"px"
alert(document.getElementById(menu_array[0].name).style.top)
if (pos1 == document.getElementById(menu_array[0].name).style.top)
{
menu_start_anim(menu_array)
}
else
{
....
}
}


Так вот, сравнение не происходит первые два раза, елерт возвращает пустое значение, но на третий раз (когда проводишь указателем по диву)
условие выполняется.

Видимо я что то упускаю из виду, предварительную инициализацию или что то такое. Я пока новичок в JS, изучать приходится в большом темпе.

Спасибо в любом случае.

B~Vladi 08.09.2009 17:44

Цитата:

Сообщение от 2dkott
но на третий раз (когда проводишь указателем по диву)
условие выполняется.

Пробивает, походу его:D

А вы смотрели, что вы сравниваете?! Какие значения возвращаются в вашем выражении?!

Интерфейс style и все его свойства доступны только тогда, когда их явно задали через это же свойство в скрипте или в атрибуте style. Для получения Y-координаты узла используйте offsetTop.

2dkott 08.09.2009 18:26

да конечно сравнивал и условие выполняется и функция запускается только после второго раза.

B~Vladi 08.09.2009 18:29

offsetTop сравнивай


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