Доработка меню на js
Есть меню на js такого вида:
<!-- древовидное меню --> <style type="text/css"> #dropMenu, #dropMenu ul {list-style:none;margin:0px;padding:0px;} .menuCat {background:url(http://studioad.ru/works/signs/plus.gif) 0px 3px no-repeat;padding-left:12px;} .menuCat span {cursor:pointer;font-weight:bold;} .menuCat ul {display:none;} </style> <ul id="dropMenu"> <li><a href="http://studioad.ru">Главная страница AD</a></li> <li class="menuCat"><span>Другие разделы студии</span> <ul> <li><a href="http://studioad.ru/index/0-2">Услуги студии</a></li> <li><a href="http://studioad.ru/index/0-6">Цены на услуги</a></li> <li><a href="http://studioad.ru/index/0-3">Контакты с дизайнером</a></li> </ul> </li> <li class="menuCat"><span>Блог AD</span> <ul> <li><a href="http://studioad.ru/blog">Главная страница блога</a></li> <li class="menuCat"><span>Скрипты и разработки</span> <ul> <li><a href="http://studioad.ru/blog/2009-02-06-28">Скрипт рейтинга</a></li> <li><a href="http://studioad.ru/blog/2009-02-12-32">Посветка js синтаксиса</a></li> <li><a href="http://studioad.ru/blog/2009-02-18-41">Проверка сложности пароля</a></li> <li><a href="http://studioad.ru/blog/2009-02-03-26">Прокрутка textarea</a></li> </ul> </li> </ul> </li> <li><a href="http://studioad.ru/index/0-9">Галерея AD</a></li> </ul> <script type="text/javascript"> // Made by Aleko (http://studioad.ru) plus="http://studioad.ru/works/signs/plus.gif"; // plus image folder minus="http://studioad.ru/works/signs/minus.gif"; // minus image folder dropMenu();function dropMenu(){var c,d,e,j,i;c=new Array();d=document.getElementsByTagName('*');e=new RegExp("(^|\\b)menuCat(\\b|$)");j=0;for(i=0;i<d.le ngth;i++){if(e.test(d[i].className)){c[j]=d[i];j++}}for(i=0;i<c.length;i++){var f=c[i].getElementsByTagName("span")[0];f.onclick=function(){var a,b;a=this.parentNode;b=a.getElementsByTagName("ul ")[0];if(b.style.display=="block"){a.style.backgroundIm age="url("+plus+")";b.style.display="none"}else{a. style.backgroundImage="url("+minus+")";b.style.dis play="block"}}}}; </script> <!-- /древовидное меню --> Если жмем на ссылку где-нить в подменю, то страничка перезагружается и меню сворачивается в ноль что очень не удобно, т.к. нужно опять искать нужное подменю...Как сделать чтобы при перезагрузке страницы меню не сворачивалось или типа того? Спасибо. |
я обычно запоминаю в кукисах, какой ul должен быть развернут (через DOM). при загрузке — проверяешь, что записано, и сразу разворачиваешь нужный элемент
NAME —имя cookie, VALUE —значение. expires —время хранения cookie, дата в формате "expires=Monday, DD-Mon-YYYY HH:MM:SS GMT", domain —домен, для которого значение cookie действительно. path — этот атрибут устанавливает подмножество документов, для которых действительно значение cookie. secure —если стоит этот маркер, то информация cookie пересылается только через HTTPS установка кук function setCookie(name, value, expires, path, domain, secure) { if (!name || !value) return false; var str = name + '=' + encodeURIComponent(value); if (expires) str += '; expires=' + expires.toGMTString(); if (path) str += '; path=' + path; if (domain) str += '; domain=' + domain; if (secure) str += '; secure'; document.cookie = str; return true; } получение кук function getCookie(name) { var pattern = "(?:; )?" + name + "=([^;]*);?"; var regexp = new RegExp(pattern); if (regexp.test(document.cookie)) return decodeURIComponent(RegExp["$1"]); return false; } удаление кук: function deleteCookie(name, path, domain) { setCookie(name, null, new Date(0), path, domain); return true; } ну а всё остальное — простая работа с DOM. |
Часовой пояс GMT +3, время: 20:12. |