Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Запутался с выплывающим меню.. (https://javascript.ru/forum/jquery/13778-zaputalsya-s-vyplyvayushhim-menyu.html)

cardsmoney 13.12.2010 13:57

Запутался с выплывающим меню..
 
Подскажите логику.. По неопытности не могу уловить как сделать..

У меня есть меню, в нём категории.. При наведении на категорию - выплывает список подкатегорий..
Когда убираем мышку от блока с подкатегориями, этот блок исчезат..

Я прописал что-то такое, но

<script type="text/javascript">

	 $('li:has(ul.children)').find('a:first').mouseover(showFunc);
	  $(this).('ul.children').slideToggle(100);
	 function showFunc(){
	 $(this).next('ul.children').slideToggle(100);
}

  </script>


Но это не слишком хорошо работающий вариант..


<ul>
<li><a href="">text </a>
<ul class="childern">
<li><a href="">subcat1</a></li>
<li><a href="">subcat2</a></li>
<li><a href="">subcat3</a></li>
</ul>
</li>
<li><a href="">text  2</a>
<ul class="childern">
<li><a href="">subcat1</a></li>
<li><a href="">subcat2</a></li>
<li><a href="">subcat3</a></li>
</ul>
</li>
</ul>

ksa 13.12.2010 14:16

Цитата:

Сообщение от cardsmoney
При наведении на категорию - выплывает список подкатегорий..
Когда убираем мышку от блока с подкатегориями, этот блок исчезат..

А сам-то чего хотел получить в итоге?

cardsmoney 13.12.2010 14:26

При наведении на категорию - выплывает список подкатегорий..
Когда убираем мышку от блока с подкатегориями, этот блок исчезат..

это и хочу, но этот код не обеспечивает этого...

ksa 13.12.2010 15:17

Цитата:

Сообщение от cardsmoney
При наведении на категорию - выплывает список подкатегорий..
Когда убираем мышку от блока с подкатегориями, этот блок исчезат..

Как вариант...

<!DOCTYPE html>
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<style type='text/css'>
.on {
	display: block;
}
.off {
	display: none;
}
</style>
<script type="text/javascript">
function On(Obj) {
	Obj.getElementsByTagName('ul')[0].className='on'
}
function Off(Obj) {
	Obj.getElementsByTagName('ul')[0].className='off'
}
</script>
</head>
<body>
<ul>
	<li onmouseover='On(this)' onmouseout='Off(this)'><a href="">text 1</a>
		<ul class="off">
			<li><a href="">subcat 11</a></li>
			<li><a href="">subcat 12</a></li>
			<li><a href="">subcat 13</a></li>
		</ul>
	</li>
	<li onmouseover='On(this)' onmouseout='Off(this)'><a href="">text 2</a>
		<ul class="off">
			<li><a href="">subcat 21</a></li>
			<li><a href="">subcat 22</a></li>
			<li><a href="">subcat 23</a></li>
		</ul>
	</li>
</ul>
</body>
</html>

cardsmoney 13.12.2010 17:22

спасибо.. а хотелось бы всётка со slide-эффектом. )

exec 13.12.2010 18:51

$("#main > li").hover(function () {
	$("ul.children", this).next().slideDown();
}, function () {
	$("ul.children", this).next().slideUp();
});


Самому верхнему UL присвоить id='main'.


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