Здорова братва.
у меня есть следующее меню
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
<div class="content_main_menu">
<ul class="nav">
<li class="sub1"><span><a href="#">Видеонаблюдение</a></span>
<ul>
<li><span><a href="">Видеокамеры</a></span></li>
<li><span><a href="">Устройства записи и обработки видеоизображения</a></span></li>
<li><span><a href="">Программное обеспечение</a></span></li>
<li><span><a href="">Объективы</a></span></li>
<li><span><a href="">Микрофоны</a></span></li>
<li><span><a href="">Устройства инфракрасной подсветки</a></span></li>
<li><span><a href="">Кронштейны</a></span></li>
<li><span><a href="">Оборудование для передачи видеосигнала</a></span></li>
<li><span><a href="">Специализированные источники питания</a></span></li>
<li class="sub1"><span><a href="#">Аксессуары</a></span>
<ul>
<li><span><a href="">Видеокамеры</a></span></li>
<li><span><a href="">Устройства записи и обработки видеоизображения</a></span></li>
<li><span><a href="">Программное обеспечение</a></span></li>
<li><span><a href="">Объективы</a></span></li>
<li><span><a href="">Микрофоны</a></span></li>
<li><span><a href="">Устройства инфракрасной подсветки</a></span></li>
<li><span><a href="">Кронштейны</a></span></li>
<li><span><a href="">Оборудование для передачи видеосигнала</a></span></li>
<li><span><a href="">Специализированные источники питания</a></span></li>
<li><span><a href="">Аксессуары</a></span></li>
</ul>
</li>
</ul>
</li>
<li><span><a href="">Охранно-пожарная сигнализация</a></span></li>
<li><span><a href="">Пожарно-техническое оборудование</a></span></li>
<li class="sub1"><span><a href="#">Системы контроля доступа</a></span>
<ul>
<li><span><a href="">Видеокамеры</a></span></li>
<li><span><a href="">Устройства записи и обработки видеоизображения</a></span></li>
<li><span><a href="">Программное обеспечение</a></span></li>
<li><span><a href="">Объективы</a></span></li>
<li><span><a href="">Микрофоны</a></span></li>
<li><span><a href="">Устройства инфракрасной подсветки</a></span></li>
<li><span><a href="">Кронштейны</a></span></li>
<li><span><a href="">Оборудование для передачи видеосигнала</a></span></li>
<li><span><a href="">Специализированные источники питания</a></span></li>
<li><span><a href="">Аксессуары</a></span></li>
</ul>
</li>
<li><span><a href="">Умный дом</a></span></li>
<li><span><a href="">Автономное электроснабжение</a></span></li>
<li><span><a href="">Цифровые миниатюрные диктофоны</a></span></li>
<li><span><a href="">Спутниковый мониторинг транспорта и людей</a></span></li>
</ul>
</div>
нужно сделать меню раскрывающее, подменю, с запоминанем позиции. То есть когда перегружу,чтоб раскрывалась та ветка , которая была ранее открыта.
делал так
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
<script type="text/javascript">
$(document).ready(function() {
var root = $('.content_main_menu');
$('li', root).each(function (index) {
this.id = 'n' + index;
});
// $('li ul:first', root).removeClass("active");
$('.content_main_menu .nav span').click(function(){
var h_ul=$('ul:first',this.parentNode);
// if (ul.length) {
// ul.slideToggle(300);
// saveTreeState(this);
// }
/* if ($('ul:first',this.parentNode).parent().hasClass('active')) {
$('ul:first',this.parentNode).parent().removeClass('active');
} else { $('ul:first',this.parentNode).parent().addClass('active'); } */
toggleNode(this.parentNode,1);
});
// alert($.cookie("open_nodes"));
openNodes();
});
function toggleNode(Node,r) {// node= li
// анимация раскрытия узла и изменение состояния маркера
var ul=$('ul:first',Node);// Находим поддерево
if (ul.length) {// поддерево есть
ul.slideToggle(200); //свернуть или развернуть
}
if (r == 1) {
saveTreeState(Node);
}
}
var str=[];
function saveTreeState(items){
//alert(items.parentNode.id);
var res = items.id;
if (res) {
str.push(res);
}
str.join(",");
setCookie("open_nodes", str);
//alert($.cookie("open_nodes"));
return false;
}
function openNodes(){
// читаем куки и открываем узлы
var open_nodes = $.cookie("open_nodes");
if(open_nodes) {
var nodes = open_nodes.split(',');
if(nodes[0]){
for(var node in nodes){
nodes[node] = '#' + nodes[node];
}
var ids = nodes.join(',');
$(ids).each(function() {
toggleNode($(this),2);
});
}
}
return false;
}
function setCookie(name, value){
var DAY = 24 * 60 * 60 * 1000;
var date = new Date();
date.setTime(date.getTime() + (1 * DAY)); // 1 день
$.cookie(name, value, {expires: date});
// alert("Cookie set: "+name+"="+value);
}
</script>
получается открыть, только вот при открытие новой ветки, предыдущее не закрывается.
Заранее спасибо.