Javascript.RU

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

Запомнить пункт в древовидном меню
Есть меню

<script type="text/javascript">

function tree_toggle(event) {
        event = event || window.event
        var clickedElem = event.target || event.srcElement

        if (!hasClass(clickedElem, 'Expand')) {
                return // клик не там
        }

        // Node, на который кликнули
        var node = clickedElem.parentNode
        if (hasClass(node, 'ExpandLeaf')) {
                return // клик на листе
        }

        // определить новый класс для узла
        var newClass = hasClass(node, 'ExpandOpen') ? 'ExpandClosed' : 'ExpandOpen'
        // заменить текущий класс на newClass
        // регексп находит отдельно стоящий open|close и меняет на newClass
        var re =  /(^|\s)(ExpandOpen|ExpandClosed)(\s|$)/
        node.className = node.className.replace(re, '$1'+newClass+'$3')
}


function hasClass(elem, className) {
        return new RegExp("(^|\\s)"+className+"(\\s|$)").test(elem.className)
}
</script>
</head>
<body>
<div onclick="tree_toggle(arguments[0])">
<div style="width:auto;text-align:center;font-size:1.2em;background-color:#006286;-moz-border-radius-top-left: 7px;
-webkit-border-top-left-radius: 7px;
 border-top-left-radius: 7px;
-moz-border-radius-topright: 7px;
-webkit-border-top-right-radius: 7px;
border-top-right-radius: 7px;color:#ffffff;font-weight:900;font-family:arial narrow;padding:10px 4px;">МЕНЮ</div>
<ul class="Container">
<!---------------------------------------------- BEGIN КАТЕГОРИЯ -------------------------------------------------->
<li class="Node IsRoot ExpandClosed">
    <div class="Expand"></div>
    <div class="Content"><a href="">КАТЕГОРИЯ</a></div>
    <ul class="Container">
<!-- BEGIN ПОДКАТЕГОРИЯ -->	
    <li class="Node ExpandLeaf">
 
        <div class="Content"><a href="">ПОДКАТЕГОРИЯ</a></div>
      </li>
<!-- END ПОДКАТЕГОРИЯ -->
</ul>
<!---------------------------------------------- END КАТЕГОРИЯ -------------------------------------------------->
<!---------------------------------------------- BEGIN КАТЕГОРИЯ -------------------------------------------------->
  <li class="Node IsRoot ExpandClosed">
    <div class="Expand"></div>
    <div class="Content"><a href="">КАТЕГОРИЯ</a></div>
    <ul class="Container">
	
	<!-- BEGIN ПОДКАТЕГОРИЯ -->	
	<li class="Node ExpandClosed">
        <div class="Expand"></div>
        <div class="Content"><a href="">ПОДКАТЕГОРИЯ</a></div>
        <ul class="Container">
          <li class="Node ExpandLeaf ">
           
            <div class="Content"><a href="">ТОВАР</a></div>
			
          </li>
        </ul>
      </li>
	<!-- END ПОДКАТЕГОРИЯ -->
<!-- BEGIN ПОДКАТЕГОРИЯ -->	
      <li class="Node ExpandClosed">
        <div class="Expand"></div>
        <div class="Content"><a href="">ПОДКАТЕГОРИЯ</a></div>
        <ul class="Container">
          <li class="Node ExpandLeaf ">
           
            <div class="Content"><a href="">ТОВАР</a></div>
			<div class="Content"><a href="">ТОВАР</a></div>
			<div class="Content"><a href="">ТОВАР</a></div>
			<div class="Content"><a href="">ТОВАР</a></div>
			<div class="Content"><a href="">ТОВАР</a></div>
			<div class="Content"><a href="">ТОВАР</a></div>
			<div class="Content"><a href="">ТОВАР</a></div>
          </li>
        </ul>
      </li>
<!-- END ПОДКАТЕГОРИЯ -->

<!---------------------------------------------- END КАТЕГОРИЯ -------------------------------------------------->


Подскажите, как его заставить запоминать текущее расположение пользователя. Т.е если человек кликнул, на товар и ушёл на страницу с товаром, то меню после обновления страницы запомнило этот переход и осталось раскрытым на данном товаре.
Ответить с цитированием
  #2 (permalink)  
Старый 06.05.2014, 10:07
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

На стороне сервера, в зависимости от запрошенной страницы добавлять особый класс активному пункту меню. Во всех нормальных CMS такая возможность встроена.
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #3 (permalink)  
Старый 06.05.2014, 10:22
Новичок на форуме
Отправить личное сообщение для arsi87 Посмотреть профиль Найти все сообщения от arsi87
 
Регистрация: 06.05.2014
Сообщений: 3

Сайт не на цмс. Сайт самописный.
А с кодом не поможете? А то я js незнаю
Ответить с цитированием
  #4 (permalink)  
Старый 06.05.2014, 13:09
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

А сайт че, на js разве написан?
__________________
В личку только с интересными предложениями
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Выделение активных пунктов многоуровневого меню на jQuery Letto Элементы интерфейса 2 04.12.2013 15:30
Как выделить активный пункт меню в моём случаи? может кто помочь? nStyle jQuery 10 11.03.2012 01:51
Проблема с аккордионом и меню Tie ExtJS 3 01.09.2011 14:36
Меню на дивах Golovastik (X)HTML/CSS 38 13.09.2010 09:10
Событие mouseout при наведении мыши на пункт меню WalterScott Events/DOM/Window 2 12.05.2009 22:05