Показать сообщение отдельно
  #4 (permalink)  
Старый 01.12.2017, 09:13
Аватар для void()
Профессор
Отправить личное сообщение для void() Посмотреть профиль Найти все сообщения от void()
 
Регистрация: 11.08.2017
Сообщений: 208

Нет, на первой строчке выбираются все ссылки, которые содержатся в '.liste-categories'. То есть вообще все ссылки этого аккордеона.

На второй строчке получаем текущий URL страницы и вырезаем из него подкатегорию. Там уже в зависимости от структуры ваших урлов сами настраиваете с помощью индекса в квадратных скобках [?] - раздел, категорию, подкатегорию...

Затем цикл проходит по всем имеющимся ссылкам и:
- вырезает из всех ссылок опять же категорию/подкатегорию;
- сравнивает с текущей категорией/подкатегорией;

И в конце он находит ссылку, которая содержит текущую категорию и добавляет class='active' родителю родителя. То есть - liste-produits.

.active{
		display:block!important;
	}


А у вас liste-produits изначально должен быть скрыт:

.liste-produits{
		display:none;
	}


var arrLinks = document.querySelectorAll('.liste-categories a');
var thisLinks = window.location.pathname.split('/')[2];

for(var i = 0; i <arrLinks.length; i++){
	if(arrLinks[i].pathname.split('/')[2] == thisLinks){
		arrLinks[i].parentNode.parentNode.classList.add('active');
	}
}
Ответить с цитированием