Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   google уже не момогает:) (https://javascript.ru/forum/dom-window/43793-google-uzhe-ne-momogaet.html)

Anvarich 20.12.2013 21:26

google уже не момогает:)
 
Доброго времени суток уважаемые форумчани!
Есть проблемка, проблмка скорее всего для незнающих чайников как я...

Молю вас о помощи... заказ весит, сроки поджимают...

Помогите!!!

Есть меню акардеон, делаю сайт на модкс, вывожу через Wayfinder все работает вроде но нужно что бы при переходе на другую страницу блок ul active оставался открытым как это можно сделать?

Вот код:
<ul class="topnav"><li>
<a href="http://muzey.semstar.kz/">Главная</a>
  </li>
<li><a title="О музее" rel="category">О музее</a><ul class="sub"><li><a href="/ru/o-muzee/istoriya-muzeya.html">История музея</a></li>
<li><a href="/ru/o-muzee/kollekczii-muzeya.html">Коллекции музея</a></li>
<li><a href="/ru/o-muzee/daryi-muzeyu.html">Дары музею</a></li>
<li><a href="/ru/o-muzee/nauchnaya-biblioteka.html">Научная библиотека</a></li>
<li><a href="/ru/o-muzee/smi-o-nas.html">СМИ о нас</a></li>
<li><a href="/ru/o-muzee/stoimost-uslug-muzeya.html">Стоимость услуг музея</a></li>
</ul></li>
<li class="active"><a title="Экспозиционные залы филиалов" rel="category">Экспозиционные залы филиалов</a><ul class="sub" style="display: none;"><li><a href="/ru/ekspoziczionnyie-zalyi-filialov/ekspozicziya-zalov-muzeya.html">Экспозиция залов музея</a></li>
<li><a href="/ru/ekspoziczionnyie-zalyi-filialov/zal-semejchane-v-godyi-velikoj-otechestvennoj-vojnyi-g.-semej.html">Зал "Семейчане в годы Великой отечественной войны" г. Семей</a></li>
<li><a href="/ru/ekspoziczionnyie-zalyi-filialov/filial-muzeya-v-sele-karaul-abajskogo-rajona.html">Филиал музея в селе Караул Абайского района</a></li>
<li><a href="/ru/ekspoziczionnyie-zalyi-filialov/filial-v-sele-ayagoz-ayagozskogo-rajona.html">Филиал в селе Аягоз Аягозского района</a></li>
<li><a href="/ru/ekspoziczionnyie-zalyi-filialov/filial-v-sele-urzhar-urzharskogo-rajona.html">Филиал в селе Уржар Уржарского района</a></li>
</ul></li>
<li><a title="Клуб «Жер-Су»" rel="category">Клуб «Жер-Су»</a><ul class="sub" style="display: block;"><li><a href="/ru/klub-zher-su/istoriya.html">История</a></li>
<li><a href="/ru/klub-zher-su/ekspedicziya.html">Экспедиция</a></li>
<li><a href="/ru/klub-zher-su/konferenczii.html">Конференции</a></li>
</ul></li>
<li><a title="Издания и публикации" rel="category">Издания и публикации</a><ul class="sub" style="display: none;"><li><a href="/ru/izdaniya-i-publikaczii/dokladyi.html">Доклады</a></li>
<li><a href="/ru/izdaniya-i-publikaczii/publikaczii.html">Публикации</a></li>
<li><a href="/ru/izdaniya-i-publikaczii/sborniki.html">Сборники</a></li>
</ul></li>
<li><a title="Фотогалерея " rel="category">Фотогалерея </a><ul class="sub" style="display: none;"><li><a href="/ru/fotogalereya/meropriyatiya.html">Мероприятия</a></li>
</ul></li>
<li>
<a href="/ru/3d-ekskuriya.html">3D экскурия</a>
  </li>
<li>
<a href="/ru/otzyivyi-i-predlozheniya.html">Отзывы и предложения</a>
  </li>
<li>
<a href="/ru/gos.-zakupki.html">Гос. закупки</a>
  </li>
<li class="last">
<a href="/ru/kontaktyi.html">Контакты</a>
  </li>
</ul>


А вот тут мои знания бессильны, точнее незнание...
Прошу не судить строго, я этот код только копировал и вставлял
$(document).ready(function(){
  $('.topnav > li ul')
    .click(function(event){
      event.stopPropagation();
    })
    .filter(':not(:first)')
    .hide(true);
    
  $('.topnav > li').click(function(){
    var selfClick = $(this).find('ul:first').is(':visible');
    if(!selfClick) {
      $(this)
        .parent()
        .find('> li ul:visible')
        .slideToggle();
    }
    
    $(this)
      .find('ul:first')
      .stop(true, true)
      .slideToggle();
  });
  
  $('.topnav > li ul')
  .click(function(event){
    event.stopPropagation();
  })
  .filter(':not(:first)')
  .hide();
  
$('.topnav > li').click(function(){
  var selfClick = $(this).find('ul:first').is(':visible');
  if(selfClick) {
    return;
  }
  $(this)
    .parent()
    .find('> li ul:visible')
    .slideToggle();

  $(this)
    .find('ul:first')
    .stop(true, true)
    .slideToggle();
});
});

monolithed 20.12.2013 21:44

Цитата:

Сообщение от Anvarich
заказ весит, сроки поджимают...

Жаль ваших заказчиков, видимо они тоже из:
Цитата:

Сообщение от Anvarich
незнающих чайников

Цитата:

Сообщение от Anvarich
нужно что бы при переходе на другую страницу блок ul active оставался открытым как это можно сделать

Если новый контент грузится динамически, то проблем быть не должно, но в вашем случае скорее всего страница перезагружается. Значит вам нужно сохранять это состояние, либо делать ajax-запрос с сохранением в базе либо все сделать на клиенте используя локальное хранилище типа localStorage с фолбеком на куки, для этого возьмите простую либу store.js.

В качестве ключа задайте связку email + идентификатор типа:

store.set(email + '|menu', true);


Затем после перехода на новую страницу получайте состояние меню:
store.get(email + '|menu');

Далее триггерите событие открытия пункта меню.


Часовой пояс GMT +3, время: 00:46.