@223606322
начинающий web-разработчик

Как задать фон первому элементу меню?

ЗАДАЧА:
1) Сделать так, чтобы при клике по какому-либо пункту в МЕНЮ или подМЕНЮ фон данного элемента поменялся.
2) При клике по какому-либо пункту МЕНЮ, первый пункт его подМЕНЮ должен также изменить фон
3) При загрузке страницы первый пункт МЕНЮ и первый пункт подМЕНЮ должны также изменить фон

Я все это сделал, но возникла проблема в том, что при клике по какому-либо элементу подМЕНЮ, первый, элемент который задавался по умолчанию не сбрасывает стиль

Вот код
как я понимаю проблема на 29 строке в js
https://jsfiddle.net/js4f60eb/

А вот проблема в более наглядном виде
5c84fc3a1e420240470903.png
  • Вопрос задан
  • 100 просмотров
Решения вопроса 1
0xD34F
@0xD34F Куратор тега JavaScript
проблема в том, что при клике по какому-либо элементу подМЕНЮ, первый, элемент который задавался по умолчанию не сбрасывает стиль

Всё-таки стиль сбрасывается. А потом снова устанавливается. Потому что из-за всплытия события срабатывает обработчик клика основного меню. Отменяйте всплытие в обработчике клика подменю, и всё будет OK:

$('ul#topnav li span a').click(function(e) {
  e.stopPropagation();
  ...
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
@vardoLP
Ват ю сэй эбаут май мама?!
так не хочется разбираться ))) Используйте логику "ели тут так, то вот тут должно быть так" )))
Ответ написан
Комментировать
lukoie
@lukoie
При клике на субменю(у них же есть свой класс) удалять со всех субменю(с таким же классом) класс .active и добавлять к тому, на который кликнули.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы