Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 12.03.2011, 11:30
Новичок на форуме
Отправить личное сообщение для kudenv Посмотреть профиль Найти все сообщения от kudenv
 
Регистрация: 10.03.2011
Сообщений: 6

Кто нибудь подскажет onmouseout при ul > li > ul, или все Великие
гуру подскажите ! Ранее обращался но ответа некто недал !
тема топика не работает li.onmouseout = hide (ul) но так и не получил ответа!

? таков
в такой структуре
<ul id="main">
  <li><a>item 1</a></li>
  <li><a>item 1</a>
       <ul id="sub" class="sub">
             <li><a>sub itim 1</a></li>
       </ul>
  </li>
</ul>


при onmouseover должен раскрываться внутренний список, а при onmouseout закрываться. В итоге спсок раскрывается но в закрытии возникаю вопросы на которые я ответить не могу прошу помощи.

как правильно организовать скрытие внутреннего списка при onmouseout.
я пробывал вот так но работает на половину если теяет фокус с списка внутреннего и переходит на строницу то не скрывает
doHide = function (event) { 
	    if (event.target) { 
	        var ob = event.target; 
	        var re = event.relatedTarget; 
	        var t = re.parentNode.parentNode; 
	        var z = re.parentNode; 
	        if (re.tagName == 'A' &&  t.className == 'menu') { 
	            var o = document.getElementById('submenu').className = 'hide'; 
	        //  var t = re.parentNode.parentNode; 
	            //console.log("object event "+ob.tagName+" from tag "+ re.tagName+" parent"+re.parentNode.tagName +"  111"+t.className); 
	            console.log(t.className) 
	        } else if (t.tagName != 'UL') { 
	            var o = document.getElementById('submenu').className = 'hide'; 
	            console.log ('good'); 
	            //if (t.onBlur) { 
	              //  console.log('asdadas');} 
	          }  
	          //console.log(ob.tagName +" "+ob.parentNode.tagName+" "+ re.tagName); 
	         // ob.onMouseout = function () {ob.className = 'hide';} 
	    } 
	};

function doso (event) { // здесь вешаю обработчик события для отрибута  - если я все правильно понял 
	 document.addEventListener('mouseover',doVisible,false); 
	 document.addEventListener('mouseout',doHide,true); 
	}; 
	doso();


кто нить поделитесь знанием, потому что, я так запутался кто за что отвечает и кому то назначать. Некоторые вопросы остаются загадками а толкового ответа ..., я в конце концов не прошу код за меня написать..просто заступорился и все .. нужно человечесое объянение
Ответить с цитированием
  #2 (permalink)  
Старый 12.03.2011, 11:42
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,121

Сообщение от kudenv
при onmouseover должен раскрываться внутренний список, а при onmouseout закрываться
Такое можно сделать и без скрипта...

<!DOCTYPE html>
<html>
<head>
<title></title>
<style type="text/css">
li .sub {
	display: none;
}
li:hover .sub {
	display: block;
}
</style>
<script type="text/javascript">
</script></head>
<body>
<ul id="main">
  <li><a>item 1</a></li>
  <li><a>item 1</a>
       <ul id="sub" class="sub">
             <li><a>sub itim 1</a></li>
       </ul>
  </li>
</ul>
</body>
</html>
Ответить с цитированием
  #3 (permalink)  
Старый 12.03.2011, 12:34
Новичок на форуме
Отправить личное сообщение для kudenv Посмотреть профиль Найти все сообщения от kudenv
 
Регистрация: 10.03.2011
Сообщений: 6

да не спорю но мне для самомобразование нужен скрипт.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Название ячейки таблицы Questioner Общие вопросы Javascript 6 16.02.2011 09:58
глюк форума Gvozd Сайт Javascript.ru 11 18.03.2009 14:37