Jump to content

Код раскрывающегося вертикального меню с сохранением состояния (открыто / закрыто)


Recommended Posts

Привет народ, нашел рандомный код вертикального меню типа аккордеон, и возникла проблема, нужно что бы если я открыл какое либо меню, то оно не закрывалось даже после перезагрузке страницы, чтобы если я например зашел на страницу профиля а потом вернулся на главную то меню было открыто на том же месте.

var panelItem = document.querySelectorAll('.panel-title'),
  active = document.getElementsByClassName('panel-active');

Array.from(panelItem).forEach(function(item, i, panelItem) {
  item.addEventListener('click', function(e) {

    // изменить состояние класса panel-active на текущем элементе: добавить если не было, убрать если было.
    this.classList.toggle('panel-active');
  });
});

В общем, я использую "Отзывчивый: динамический список тем с блоком фильтров по форумам" я сделал чтобы подфорумы были изначально скрыты и открывались по нажатию на кнопку, вот в чем проблема, если я выберу какой то подфорум и зайду почитать какую нибудь тему то по возвращении на главную страницу, подфорумы будут скрыты.

Скрытый текст

1.png.902519c29f5c660af36f2d8e6a4cf61d.png2.png.4d0c67c4ea40f6fd109b6604694bb3cc.png

НО выбранный подфорум так и останется активным, и пользователю нужно будет лезть в это меню, открывать его и искать тот самый подфорум чтобы снять с него активный класс, чтобы этого не было я хочу чтобы меню запоминало что оно было открыто и пользователь вернувшись на главную страницу ясно видел какой форум он отметил активным чтобы почитать. Я думаю не секрет с какого форума я стырил идею судя по фото (zelenka) вот как у них хочу сделать а в js вообще не разбираюсь, кто подскажет как это реализовать?

Вообще, хотелось бы не просто запоминать открыто меню или нет а автоматически открывать его после перезагрузки страницы и держать открытым до тех пор пока внутри есть хотя бы 1 выбранный элемент, но это меня вообще понесло, я так понял именно так всё работает на зеленке но даже не знаю с помощью чего это можно сделать

Link to comment
Share on other sites

Либо по переходе на главную сбрасывать все ранее выбранные форумы и подфорумы чтобы они были не выбранными, а то ips по из коробки запоминает какой форум был выбран и даже если закрыть вкладку в браузере и заново ее открыть то ранее выбранные форумы опять будут выбраны, но это уже нужно я так понял в самом ips что то ковырять, ну или в шаблоне

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...