Аккордеон меню на jquery

 

для создания подобного меню, необходимо:

 

Разметка

<div id="nav">
<ul>
<li>
<a href="#">AUDI</a>
<ul>
<li><a href="#">100(C4) -A6(C4)</a>
<ul>
<li><a href="#">100(C4) -A6(C4)</a></li>
<li><a href="#">Allroad (4B,C5)</a></li>
<li><a href="#">Audi 100 (44)</a></li>
<li><a href="#">Audi 80 (B3)</a></li>
<li><a href="#">Audi 80 (B4)</a></li>
</ul>
</li>
<li><a href="#">Allroad (4B,C5)</a></li>
<li><a href="#">Audi 100 (44)</a></li>
<li><a href="#">Audi 80 (B3)</a></li>
<li><a href="#">Audi 80 (B4)</a></li>
</ul>
</li>
<li>
<a href="#">BMW</a>
<ul>
<li><a href="#">100(C4) -A6(C4)</a></li>
<li><a href="#">Allroad (4B,C5)</a></li>
<li><a href="#">Audi 100 (44)</a></li>
<li><a href="#">Audi 80 (B3)</a></li>
<li><a href="#">Audi 80 (B4)</a></li>
</ul>
</li>
<li>
<a href="#">FORD</a>
<ul>
<li><a href="#">100(C4) -A6(C4)</a></li>
<li><a href="#">Allroad (4B,C5)</a></li>
<li><a href="#">Audi 100 (44)</a></li>
<li><a href="#">Audi 80 (B3)</a></li>
<li><a href="#">Audi 80 (B4)</a></li>
</ul>
</li>
<li>
<a href="#">MERCEDES</a>
<ul>
<li><a href="#">100(C4) -A6(C4)</a></li>
<li><a href="#">Allroad (4B,C5)</a></li>
<li><a href="#">Audi 100 (44)</a></li>
<li><a href="#">Audi 80 (B3)</a></li>
<li><a href="#">Audi 80 (B4)</a></li>
</ul>
</li>
</ul>
</div>

 

js(естественно в начале подключить библиотеку)

$(document).ready(function() {
$('#nav > ul > li').prepend('<span></span>');
$('#nav > ul > li').each( function() {
var th = $(this);
var act = $(thi
s).find('li.act').length;
if (act > 0) {
} else {
th.addClass('closed');
}
});
/* ####################### */
$('#nav > ul > li > ul > li.parent_sub').prepend('<span></span>');
$('#nav > ul > li > ul > li.parent_sub').each( function() {
var th = $(this);
var act = $(this).find('li.act').length;
if (act > 0) {
 
} else {
th.addClass('closed');
}
});
 
$(".parent_sub span").click(function() {
$(this).removeClass("parent");
$(this).toggleClass("actives");
}, function() {
$(this).toggleClass("color");
});
 
$('#nav .close').click( function() {
$(this).parent().toggleClass('closed');
});
 
});

 

CSS

#nav { background:url("../img/menu_bg.jpg") no-repeat 50% 0;}
#nav > ul {list-style: none outside none;}
#nav > ul > li { border-top:1px dotted #dadbdb; padding:7px 0 8px;}
#nav > ul > li > a { color:#1672cd;}
#nav > ul > li img { float:right; margin:-4px 3px 0 5px;}
#nav .close { width:9px; height:9px; overflow:hidden; background:url("../img/minus.png") no-repeat 0 0; float:left; margin:4px 8px 0 0; cursor:pointer;}
#nav ul ul { margin:3px 0 0 4px; display:block; list-style: none outside none;}
#nav li.closed ul { display:none;}
#nav li.closed .close { background:url("../img/plus.png") no-repeat 0 0;}
#nav ul ul li {background:url("../img/aside_bull.png") no-repeat 14px 8px; padding:0 0 0 10px; margin:0 0 -2px;}
#nav ul ul li.act { background:url("../img/menu_bg2.png") no-repeat 0 0;}
#nav ul ul li a { color:#69727a; text-decoration:none; display:block; line-height:21px; height:22px; padding:0 0 0 14px;}
#nav ul ul li.act a { background:url("../img/menu_bg2.png") no-repeat 100% 100%;}
#nav ul ul li a:hover { color:#1672cd;}

#nav .parent_sub.closed ul.parent{ display: none;}
#nav .parent_sub ul.parent{ display: block;}

 

Как это всё работает


Сделать заказ

| необходим для связи с вами
В кротчайшие сроки я свяжусь с вами.

Также вы можетете связать со мной:
telegram: @ifwcom