Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 30.01.2012, 18:09
Новичок на форуме
Отправить личное сообщение для by_roxe Посмотреть профиль Найти все сообщения от by_roxe
 
Регистрация: 30.01.2012
Сообщений: 4

Доработка меню на 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 {cursorointer;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>
<!-- /древовидное меню -->


Если жмем на ссылку где-нить в подменю, то страничка перезагружается и меню сворачивается в ноль что очень не удобно, т.к. нужно опять искать нужное подменю...Как сделать чтобы при перезагрузке страницы меню не сворачивалось или типа того? Спасибо.
Ответить с цитированием
  #2 (permalink)  
Старый 30.01.2012, 20:29
Аватар для T-sh
Профессор
Отправить личное сообщение для T-sh Посмотреть профиль Найти все сообщения от T-sh
 
Регистрация: 04.12.2009
Сообщений: 579

я обычно запоминаю в кукисах, какой 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.
__________________
С моих слов записано верно.

Последний раз редактировалось T-sh, 30.01.2012 в 20:35.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Выпадающее меню на JS (подкатегории) Trueplayer Events/DOM/Window 5 18.09.2014 22:29
Проблема с аккордионом и меню Tie ExtJS 3 01.09.2011 14:36
IE и меню на JS ArtKolev Internet Explorer 4 06.04.2011 12:34
Меню сайта на JS lawer Работа 6 26.09.2009 21:47
JS меню работает на обычной html странице, а на юкозовском движке нет. adware Я не знаю javascript 10 16.05.2009 16:48