Помогите дописать скрипт меню
Конструкция html
<ul class="menu"> <li><a href="#">My Account</a> <ul class="sub-menu"> <li><a href="#">Главная 2</a></li> <li><a href="#dashboard" >Dashboard</a></li> </ul> </li> <li><a href="#dashboard" >Dashboard</a> <ul class="sub-menu"> <li><a href="#">Главная 2</a></li> <li><a href="#dashboard" >Dashboard</a></li> </ul> </li> <li><a href="#signout">Sign Out</a></li> </ul> Скрипт
$(document).ready(function() {
$('ul li').has('ul').addClass('include');
$(".include").click(function() {
var X = $(this).attr('id');
if(X == 1) {
$(".sub-menu").hide();
$(this).attr('id', '0');
}
else {
$(".sub-menu").show();
$(this).attr('id', '1');
}
});
//Mouseup textarea false
$(".sub-menu").mouseup(function() {
return false
});
$(".include").mouseup(function() {
return false
});
//Textarea without editing.
$(document).mouseup(function() {
$(".sub-menu").hide();
$(".include").attr('id', '');
});
});
Как сейчас работает: Присваивает элементу li у которого есть под уровень ul, класс стилей. Определяет элемент по добавленному классу и вычисляет значение id элемента. При нажатии мышкой на элемент, ему присваивается id = 1, это значит, что он показывается. При повторном нажатии на элемент (id = 0), меню исчезает. Так же элемент исчезает при щелчке в любом месте страницы. При нажатии на какой либо раскрывающийся элемент, раскрываются все. Задача: Подсчитывать общее количество элементов li у которых есть под уровень ul и присваивать им порядковый номер в виде id. Сделать так, чтобы при нажатии на определённый раскрывающейся список выпадал именно он, а не все сразу и причем иногда в одном и том же месте. Добавить функцию, при которой нажатый элемент с классом присвоенным элементу li который имеет под уровень ul, приобретал дополнительный класс нажатого элемента. |
Mizter,
Посмотрите вариант тут |
Цитата:
|
| Часовой пояс GMT +3, время: 04:15. |