Показать сообщение отдельно
  #1 (permalink)  
Старый 05.09.2015, 19:22
Аватар для dmk
dmk dmk вне форума
Интересующийся
Отправить личное сообщение для dmk Посмотреть профиль Найти все сообщения от dmk
 
Регистрация: 21.03.2015
Сообщений: 13

Меню-аккордеон. Как сворачивать неактывные пункты?
Как в меню-аккордеоне делается сворачивание неактивных пунктов меню? Чтобы один открываешь, а прежде открытый закрывался.

Страница с меню: http://dmink.ru/learn/

Код JS:

var btnMenu = document.querySelectorAll('.btn-menu'),
    subMenu = document.querySelectorAll('.sub-menu'),
    i, btn, sub;

for (i = 0; i < btnMenu.length; i++) {
    btn = btnMenu[i];
    sub = subMenu[i];

    btn.addEventListener('click', menuOpen(btn, sub));
};

function menuOpen(btn, sub) {
    return function (event) {
        event.preventDefault();
        btn.classList.toggle('btn-menu--active');
        sub.classList.toggle('sub-menu--show');
    };
};


Код HTML:

<ul class="accordeon">

	<li><a class="btn-menu" href="#">Верхний пункт</a>
		<ul class="sub-menu">
			<li><a class="sub-menu__item" href="#">Первое меню 1</a></li>
			<li><a class="sub-menu__item" href="#">Первое меню 2</a></li>
			<li><a class="sub-menu__item" href="#">Первое меню 3</a></li>
			<li><a class="sub-menu__item" href="#">Первое меню 4</a></li>
		</ul>
	</li>

	<li><a class="btn-menu" href="#">Средний пункт</a>
		<ul class="sub-menu">
			<li><a class="sub-menu__item" href="#">Второе меню 1</a></li>
			<li><a class="sub-menu__item" href="#">Второе меню 2</a></li>
			<li><a class="sub-menu__item" href="#">Второе меню 3</a></li>
			<li><a class="sub-menu__item" href="#">Второе меню 4</a></li>
		</ul>
	</li>

	<li><a class="btn-menu" href="#">Нижний пункт</a>
		<ul class="sub-menu">
			<li><a class="sub-menu__item" href="#">Третье меню 1</a></li>
			<li><a class="sub-menu__item" href="#">Третье меню 2</a></li>
			<li><a class="sub-menu__item" href="#">Третье меню 3</a></li>
			<li><a class="sub-menu__item" href="#">Третье меню 4</a></li>
		</ul>
	</li>

</ul>


Без jQuery нужно решение

Последний раз редактировалось dmk, 05.09.2015 в 20:02.
Ответить с цитированием