Javascript.RU

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

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();
});
});
Ответить с цитированием
  #2 (permalink)  
Старый 20.12.2013, 21:44
Особый гость
Посмотреть профиль Найти все сообщения от monolithed
 
Регистрация: 02.04.2010
Сообщений: 4,260

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

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

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


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

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



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Скрыть меню от Google medexpert Работа 18 29.02.2012 12:22
frames в google chrome sasha.sivakov@mail.ru Общие вопросы Javascript 1 28.02.2012 22:47
Как запустить модальное окно из информационного окна google maps? www123 jQuery 5 04.09.2011 23:38
JavaScript + Google Maps ahimaskrasavin Элементы интерфейса 5 20.06.2011 13:21
Google maps maxWidth: ??? konstantinopol Общие вопросы Javascript 8 16.03.2009 18:20