Я не понимаю, почему вам нужно использовать JS здесь.Я видел слишком много примеров того, как люди пытались создать простые выпадающие меню, которые просто не нашли времени, чтобы использовать правильную структуру HTML и использовать CSS для управления элементами.
Если вы действительно не хотите иметь какую-то анимацию (но опять же вы можете использовать CSS3-преобразование для анимации), тогда я бы предложил использовать этот ответ, который я дал другому пользователю, у которого некоторое время назад была проблема с выпадающим меню.
Выпадающие меню CSS, перемещающие содержимое страницы вниз
Приведенная выше ссылка дает вам очень быстрый, прямой пример раскрывающегося решения HTML + CSS.Используя этот пример, вы можете добиться того, что ищете, оставив родительскую ссылку «выделенной», используя только HTML и CSS.
Редактировать:
Чтобы напрямую обратиться к вашей проблеме.Все, что вам нужно сделать, чтобы решить вашу проблему, это настроить свой CSS немного по-другому.
Изменить:
#jsddm li a:hover {
background-color:#FFF;
color:#000;
}
На:
#jsddm li:hover a {
background-color:#FFF;
color:#000;
}
Как видите,Я выбираю элемент li
, чтобы использовать псевдо-селектор :hover
вместо тега.Это потому, что вы заключаете подменю ul
в этот тег.Технически, это родительский элемент.