Запутался с выплывающим меню..
Подскажите логику.. По неопытности не могу уловить как сделать..
У меня есть меню, в нём категории.. При наведении на категорию - выплывает список подкатегорий.. Когда убираем мышку от блока с подкатегориями, этот блок исчезат.. Я прописал что-то такое, но
<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> |
Цитата:
|
При наведении на категорию - выплывает список подкатегорий..
Когда убираем мышку от блока с подкатегориями, этот блок исчезат.. это и хочу, но этот код не обеспечивает этого... |
Цитата:
<!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>
|
спасибо.. а хотелось бы всётка со slide-эффектом. )
|
$("#main > li").hover(function () {
$("ul.children", this).next().slideDown();
}, function () {
$("ul.children", this).next().slideUp();
});
Самому верхнему UL присвоить id='main'. |
| Часовой пояс GMT +3, время: 11:36. |