Decode,
Структура: <div> <ul> <li> Новые стили и html меню я и сама написать могу. Дело тут в том, чтобы сохранить имеющееся ("прилипающую стрелку", стиль). Если в CSS hover эффект поменять на active, меню открывается по клику, но тут же секунду в секунду скрывается => дело в JS. |
SnezhanaLast, для начала html измените.
![]() Цитата:
|
Decode,
Обновила, посмотрите, с такой проблемой столкнулась. |
SnezhanaLast, уберите :active. В таблицу стилей добавьте класс submenu-hide, который будет скрывать под-меню. Вставьте скрипт к себе:
var menu = document.querySelector('.page-sidebar-menu'), subMenu = document.querySelectorAll('.sub-menu'), current; menu.onclick = function(e) { if ( !e.target.parentNode != this ) return; current = e.target.querySelector('.sub-menu'); [].forEach.call(subMenu, function(item) { if (item == current) return; item.classList.add('submenu-hide'); }); current.classList.toggle('submenu-hide'); }; menu.onmousedown = menu.onselectstart = function() { return false; }; |
Спасибо Вам большое! Выручили :)
|
Ой. Сделала, а белиберда получилась. :(
В чем косяк? |
SnezhanaLast,
Цитата:
|
Я добавила.
.submenu-hide { display: none; } |
SnezhanaLast, этого мало, надо еще элементам <ul> добавить, которые submenu.
<ul class="sub-menu submenu-hide"> |
Decode,
.submenu-hide { display: none; } .sub-menu .submenu-hide { display: none; } .sub-menu .submenu-hide ul { display: none; } Сделала вот так, но результат тот же самый. :( |
Часовой пояс GMT +3, время: 16:46. |