Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   проблема с событиями onMouseOut и onMouseOver (https://javascript.ru/forum/misc/17263-problema-s-sobytiyami-onmouseout-i-onmouseover.html)

IIIgun 12.05.2011 15:39

проблема с событиями onMouseOut и onMouseOver
 
Не получается проверка события onMouseOver из функции, выдает undefined, может я написал что то не так, посмотрите.

<a href="" onmouseover="focus_menu('news');" onmouseout="mokus_menu('news');">НОВОСТИ</a>
<div id="news" class="sub" >
<a href="">Основные новости</a><br>
<a href="">Новости погоды</a><br>
</div>
и код в скрипте:
function focus_menu (id)
{
document.getElementById(id).style.display='block'
}

function mokus_menu (id)
{
var a=document.getElementById(id).onMouseOver; alert(a);
}

IIIgun 12.05.2011 15:41

по идее когда я навожу на елемент document.getElementById(id) должно выводить true, в любом другом случае false. Или я не прав?

IIIgun 12.05.2011 15:49

:-?

IIIgun 12.05.2011 16:10

может проблему я не описал точно?:(

IIIgun 12.05.2011 16:11

var a=document.getElementById(id).onMouseOver; правильно ли написанна эта строчка?

ksa 12.05.2011 16:45

IIIgun, js регистрозависимый язык... нет такого события - onMouseOver.

IIIgun 13.05.2011 15:18

Цитата:

Сообщение от ksa (Сообщение 104359)
IIIgun, js регистрозависимый язык... нет такого события - onMouseOver.

при такой строке var a=document.getElementById(id).onmouseover; alert(a); выводит null

IIIgun 13.05.2011 15:20

Цитата:

Сообщение от IIIgun (Сообщение 104512)
при такой строке var a=document.getElementById(id).onmouseover; alert(a); выводит null

между элементом <a href="" onmouseover="focus_menu('news');" onmouseout="mokus_menu('news');">НОВОСТИ</a> и элементом <div id="news" class="sub" >
<a href="">Основные новости</a><br>
<a href="">Новости погоды</a><br>
</div>
нет промежутка

ksa 13.05.2011 16:45

Цитата:

Сообщение от IIIgun
при такой строке var a=document.getElementById(id).onmouseover; alert(a); выводит null

А ты чего ожидал? :)
У тебя ИД чему равно? У элемента с таким ИД есть это событие?

ksa 13.05.2011 16:47

Цитата:

Сообщение от IIIgun
нет промежутка

Какого промежутка? :blink:

Оформляй код как положено.

<a href="" onmouseover="focus_menu('news');" onmouseout="mokus_menu('news');">НОВОСТИ</a> 
<div id="news" class="sub" >
   <a href="">Основные новости</a><br>
   <a href="">Новости погоды</a><br>
</div>


И тестовые примеры делай не огрызками, а полностью страничу, тестовую конечно... А не весь сайт. :)

IIIgun 13.05.2011 21:06

это фрагмент с сайта, это
<a href="" onmouseover="focus_menu('news');" onmouseout="mokus_menu('news');">НОВОСТИ</a>

первый уровень меню,это
<div id="news" class="sub" >
<a href="">Основные новости</a><br>
<a href="">Новости погоды</a><br>
</div> второй.
мне нужно сделать стоб при наведение на второй уровень меню, оно не уходило, в любом другом случае скрывалось

IIIgun 13.05.2011 21:07

извиняюсь за оформление вопроса:D

IIIgun 13.05.2011 21:07

и кода)

IIIgun 13.05.2011 21:12

function focus_menu (id) 
{
document.getElementById(id).style.display='block'
}
function mokus_menu (id) 
{
if(document.getElementById(id).onmouseover==false)document.getElementById(id).style.display='none';	
}

вроде так

IIIgun 13.05.2011 21:15

но проверка не выполняется, видимо что то не то(

dmitriymar 13.05.2011 21:42

Цитата:

Сообщение от IIIgun
if(document.getElementById(id).onmouseover==false) document.getElementById(id).style.display='none';

событие возникает один раз -при заходе на элемент и также при уходе с элемента. срабатывет-у тебя переход на функцию и события уже не существует .хочешь скрыть просто делай скрытие и всё
а вообще тебе стоит задуматься об изучении языка с основ на форуме есть хорошая статья о событиях

IIIgun 13.05.2011 21:55

теперь понял где ошибка, спс ksa и dmitriymar


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