Аватар для Syrka
9 / 9 / 5
Регистрация: 21.01.2016
Сообщений: 62

Меню аккордеон: как добавить запоминание открытого пункта?

11.10.2017, 00:42. Показов 2340. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Уважаемые форумчане очень нужна помощь,есть меню аккордеон(код можно посмотреть ниже или вот http://jsfiddle.net/Syrka/sn6avvnp/34/http://jsfiddle.net/Syrka/sn6avvnp/34/
Суть вопроса: как сделать чтобы при переходе на другую страницу открытое подменю оставалось открытым?
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
<div id="menu-glm">
  <ul id='nav_list_moy' class='nav_list'>
    <li>
      <a href='/about/' title='О компании'>О компании</a>
      <div class='plus'></div>
      <ul>
        <li><a href='/about/management/' title='Менеджмент'>Менеджмент</a></li>
        <li><a href='/about/history/' title='История'>История</a></li>
        <li><a href='/about/vacancies/' title='Вакансии'>Вакансии</a></li>
        <li><a href='/about/awards/' title='Награды и сертификаты'>Награды и сертификаты</a></li>
        <li><a href='/about/partners/' title='Партнёры'>Партнёры</a></li>
      </ul>
    </li>
    <li>
      <a href='/corporate/' title='Услуги'>Услуги</a>
      <div class='plus'></div>
    </li>
    <li>
      <a href='/clients/clients/' title='Клиенты'>Клиенты</a>
      <div class='plus'></div>
 
      <ul>
        <li><a href='/clients/clients/' title='Клиенты'>Клиенты</a></li>
        <li><a href='/clients/portfolio/' title='Портфолио'>Портфолио</a></li>
        <li><a href='/clients/review/' title='Отзывы о работе'>Отзывы о работе</a></li>
      </ul>
    </li>
    <li>
      <a href='/coordinates/main-office/' title='Контакты'>Контакты</a>
      <div class='plus'></div>
      <ul>
        <li><a href='/coordinates/main-office/' title='Основной офис'>Основной офис</a></li>
        <li><a href='/coordinates/region-office/' title='Подразделения'>Подразделения</a></li>
        <li><a href='/coordinates/feedback/' title='Обратная связь'>Обратная связь</a></li>
      </ul>
    </li>
  </ul>
</div>
CSS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
html,
body {
  margin: 0px;
  padding: 0px;
  background-color: #385762;
  font-size: 13px;
  line-height: 18px;
  font-family: Arial;
  height: 100%;
  color: #fff;
}
 
#menu-glm {
  width: 240px;
  position: relative;
}
 
.nav_list {
  padding: 0px;
  margin: 0px;
  width: 240px;
  list-style: none;
}
 
.nav_list li {
  position: relative;
}
 
.nav_list li a {
  padding: 5px 0px 5px 20px;
  display: block;
  font-size: 15px;
  font-weight: bold;
  color: #fff;
  text-decoration: none;
}
 
.nav_list li a:hover {
  color: #fff;
  background-color: #24a6d7;
}
 
.nav_list ul {
  margin: 0;
  display: block;
  padding: 0px;
  margin: 0px;
}
 
.nav_list ul li {
  list-style: none;
  position: static;
}
 
.nav_list ul a {
  padding-left: 0px;
  font-size: 14px;
  color: #a3e5fc;
  padding: 3px 0px 3px 30px;
  font-weight: normal;
}
 
.nav_list li div {
  position: absolute;
  top: 5px;
  left: 2px;
  border: 0px;
  padding: 0px;
  margin: 0px;
}
 
.nav_list li div img {
  padding: 0px;
  margin: 0px;
  cursor: pointer;
}
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
$(document).ready(function() {
 
  $('#nav_list_moy').find('ul').prev('.plus').html('<img src="http://milknews.ru/img/plus.gif">');
  $('.activ > div').html('<img src="http://milknews.ru/img/minus.gif">');
 
  //делаем пункты видимыми и скрываем js для тех у кого отключен js они должны быть видимыми
  $('li > ul').css({
    'display': 'none'
  });
  $('.activ > ul').slideDown(250);
 
  $('div.plus').click(function() {
    if ($(this).parent().hasClass('activ')) {
      $('#nav_list_moy .activ > .plus').html('<img src="http://milknews.ru/img/plus.gif">');
      $('#nav_list_moy .activ > ul').slideUp(250);
      $('#nav_list_moy .activ').removeClass('activ');
    } else {
      $('#nav_list_moy .activ > .plus').html('<img src="http://milknews.ru/img/plus.gif">');
      $('#nav_list_moy .activ > ul').slideUp(250);
      $('#nav_list_moy .activ').removeClass('activ');
 
      $(this).parent().addClass('activ');
      $('#nav_list_moy .activ > ul').slideDown(250);
      $('#nav_list_moy .activ > .plus').html('<img src="http://milknews.ru/img/minus.gif">');
    }
  });
}); // 0 - конец ready
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
11.10.2017, 00:42
Ответы с готовыми решениями:

Как свернуть меню-аккордеон?
Добрый день. Я сделал простое вертикальное меню аккордеон. Вроде все работает. Единственное, очень бы хотелось, чтобы оно сварачивалось не...

Как дополнить скрипт меню аккордеон?
Добрый день уважаемые форумчане! Прошу помощи: Есть рабочее меню аккордеон: &lt;div id=&quot;menu&quot;&gt; &lt;ul&gt; ...

Связать ссылку с меню аккордеон
Добрый день. Помогите в решении двух проблемы. Есть меню аккордеон на тест сайте http://746584.avtogr06.web.hosting-test.net/. Все работает...

2
Эксперт JS
2463 / 1769 / 625
Регистрация: 11.07.2016
Сообщений: 4,067
11.10.2017, 10:08
Цитата Сообщение от Syrka Посмотреть сообщение
как сделать чтобы при переходе на другую страницу открытое подменю оставалось открытым?
Запоминайте, какое меню открыто в куках. Далее при генерации странице на сервере читайте куки и подставляйте соответствующие классы. Либо делайте это на клиенте, но сервер будет предпочтительнее наверно.
0
 Аватар для Syrka
9 / 9 / 5
Регистрация: 21.01.2016
Сообщений: 62
11.10.2017, 10:25  [ТС]
Да,это понятно. Только вот не получается что-то... Буду пробовать...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
11.10.2017, 10:25
Помогаю со студенческими работами здесь

Меню аккордеон
Есть менюшка аккордеон. Как сделать так чтоб первый пункт меню по-умолчанию (при загрузке страницы) был развернут... ...

Меню-аккордеон
Добрый день Ув. пользователи форума. Возникла проблема с блоками меню, решил воспользоваться jQuery. Неполучается сделать скрытие фона...

Меню аккордеон
Это код меню аккордеона &lt;script type=&quot;text/javascript&quot;&gt; $(document).ready(function() { // Хранение переменных var...

jQuery меню аккордеон
Проблема в следующем: Есть меню аккордеон в котором 3 раздела и на данный момент 2 из них пусты, нужно сделать так чтоб те разделы в...

Меню в стиле аккордеон
Всем привет. Помогите переделать меню http://jsfiddle.net/karpoc/tpamgqf5/13/ &lt;ul id=&quot;nav_list_first&quot; class=&quot;nav_list&quot;&gt; ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

Новые блоги и статьи
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути
Programma_Boinc 01.01.2026
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути Сочетание глобально распределённой вычислительной мощности и инновационных. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru