Здравствуйте подскажите пожалуйста, как сделать выпадающее меню с подпунктами и подсвечиванием того пункта меню который я выбрал.
Мой список работает , но при выборе пункта меню он добавляет класс только для <li><a class="nav_art" href="/two">Январь (10)</a></li>
А для категории меню не выбирает и соответственно не раскрывает список,
<!DOCTYPE HTML>
<html lang="ru-RU">
<head>
<script type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js"></script>
</head>
<html>
<body>
<style>
ul.left_menu li a:hover, ul.left_menu li.active a {
color:#FFF;
background-color:#78bbe6;
border:1px solid #78bbe6;
}
ul.acitem {
list-style:none;
}
ul.left_menu a.active, ul.left_menu ul.acitem li a.active, ul.left_menu a.active:hover, ul.left_menu ul.acitem li a.active:hover {
color:#FFF;
background-color:#78bbe6;
border:1px solid #78bbe6;
}
</style>
<script type="text/javascript">
jQuery.fn.initMenu = function() {
return this.each(function(){
var theMenu = $(this).get(0);
$('.acitem', this).hide();
$('li.expand > .acitem', this).show();
$('li.expand > .acitem', this).prev().addClass('active');
$('li a', this).click(
function(e) {
e.stopImmediatePropagation();
var theElement = $(this).next();
var parent = this.parentNode.parentNode;
if($(parent).hasClass('noaccordion')) {
if(theElement[0] === undefined) {
window.location.href = this.href;
}
$(theElement).slideToggle('normal', function() {
if ($(this).is(':visible')) {
$(this).prev().addClass('active');
}
else {
$(this).prev().removeClass('active');
}
});
return false;
}
else {
if(theElement.hasClass('acitem') && theElement.is(':visible')) {
if($(parent).hasClass('collapsible')) {
$('.acitem:visible', parent).first().slideUp('normal',
function() {
$(this).prev().removeClass('active');
}
);
return false;
}
return false;
}
if(theElement.hasClass('acitem') && !theElement.is(':visible')) {
$('.acitem:visible', parent).first().slideUp('normal', function() {
$(this).prev().removeClass('active');
});
theElement.slideDown('normal', function() {
$(this).prev().addClass('active');
});
return false;
}
}
}
);
});
};
$(document).ready(function() {$('.left_menu').initMenu();})
</script>
<ul class="left_menu collapsible">
<li>
<a class="nav_art" href="#">С чего начать</a>
<ul class="acitem">
<li><a class="nav_art" href="/one">Рубрика 1</a></li>
<li><a class="nav_art" href="#">Рубрика 2</a></li>
<li><a class="nav_art" href="#">Рубрика 3</a></li>
</ul>
</li>
<li>
<a class="nav_art" href="#">Архивы</a>
<ul class="acitem">
<li><a class="nav_art" href="/two">Январь (10)</a></li>
<li><a class="nav_art" href="#">Февраль (15)</a></li>
<li><a class="nav_art" href="#">Март (8)</a></li>
</ul>
</li>
</ul>
</body>
</html>
И скрипт для добавления класса активным пунктам меню.
$('ul li a.nav_art').each(function() {
link = $(this).attr('href');
if(link != homePage && link == window.location.href.substr(0,link.length)) $(this).addClass('active');
});