Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 27.12.2015, 00:25
Аспирант
Отправить личное сообщение для SnezhanaLast Посмотреть профиль Найти все сообщения от SnezhanaLast
 
Регистрация: 18.12.2015
Сообщений: 31

Decode,
Структура:
<div>
      <ul>
         <li>


Новые стили и html меню я и сама написать могу. Дело тут в том, чтобы сохранить имеющееся ("прилипающую стрелку", стиль). Если в CSS hover эффект поменять на active, меню открывается по клику, но тут же секунду в секунду скрывается => дело в JS.
Ответить с цитированием
  #12 (permalink)  
Старый 27.12.2015, 01:15
Профессор
Отправить личное сообщение для Decode Посмотреть профиль Найти все сообщения от Decode
 
Регистрация: 31.01.2015
Сообщений: 576

SnezhanaLast, для начала html измените.



Сообщение от SnezhanaLast
Если в CSS hover эффект поменять на active, меню открывается по клику, но тут же секунду в секунду скрывается => дело в JS.
Не надо active, впрочем, как и hover.
Ответить с цитированием
  #13 (permalink)  
Старый 28.12.2015, 00:11
Аспирант
Отправить личное сообщение для SnezhanaLast Посмотреть профиль Найти все сообщения от SnezhanaLast
 
Регистрация: 18.12.2015
Сообщений: 31

Decode,
Обновила, посмотрите, с такой проблемой столкнулась.
Ответить с цитированием
  #14 (permalink)  
Старый 28.12.2015, 02:52
Профессор
Отправить личное сообщение для Decode Посмотреть профиль Найти все сообщения от Decode
 
Регистрация: 31.01.2015
Сообщений: 576

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;
};
Ответить с цитированием
  #15 (permalink)  
Старый 28.12.2015, 10:55
Аспирант
Отправить личное сообщение для SnezhanaLast Посмотреть профиль Найти все сообщения от SnezhanaLast
 
Регистрация: 18.12.2015
Сообщений: 31

Спасибо Вам большое! Выручили
Ответить с цитированием
  #16 (permalink)  
Старый 28.12.2015, 12:50
Аспирант
Отправить личное сообщение для SnezhanaLast Посмотреть профиль Найти все сообщения от SnezhanaLast
 
Регистрация: 18.12.2015
Сообщений: 31

Ой. Сделала, а белиберда получилась.
В чем косяк?
Ответить с цитированием
  #17 (permalink)  
Старый 28.12.2015, 15:35
Профессор
Отправить личное сообщение для Decode Посмотреть профиль Найти все сообщения от Decode
 
Регистрация: 31.01.2015
Сообщений: 576

SnezhanaLast,
Сообщение от Decode
В таблицу стилей добавьте класс submenu-hide, который будет скрывать под-меню.
Ответить с цитированием
  #18 (permalink)  
Старый 28.12.2015, 15:54
Аспирант
Отправить личное сообщение для SnezhanaLast Посмотреть профиль Найти все сообщения от SnezhanaLast
 
Регистрация: 18.12.2015
Сообщений: 31

Я добавила.
.submenu-hide {
  display: none;
}
Ответить с цитированием
  #19 (permalink)  
Старый 28.12.2015, 16:02
Профессор
Отправить личное сообщение для Decode Посмотреть профиль Найти все сообщения от Decode
 
Регистрация: 31.01.2015
Сообщений: 576

SnezhanaLast, этого мало, надо еще элементам <ul> добавить, которые submenu.
<ul class="sub-menu submenu-hide">
Ответить с цитированием
  #20 (permalink)  
Старый 28.12.2015, 17:28
Аспирант
Отправить личное сообщение для SnezhanaLast Посмотреть профиль Найти все сообщения от SnezhanaLast
 
Регистрация: 18.12.2015
Сообщений: 31

Decode,
.submenu-hide {
  display: none;
}
.sub-menu .submenu-hide {
  display: none;
}
.sub-menu .submenu-hide ul {
  display: none;
}


Сделала вот так, но результат тот же самый.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Всплывающее окно при отправке формы veg Общие вопросы Javascript 10 20.01.2017 10:44
при клике по ссылке проголосовать всплывает окно с формой koyot777 Events/DOM/Window 1 26.06.2015 05:27
Скрипт появляющихся элементов при скроллинге на html5 не работает - прошу помочь wladm Библиотеки/Тулкиты/Фреймворки 5 15.02.2015 11:00
Изменение прозрачности при клике AJIUK jQuery 8 09.03.2014 16:00
Изменение размера элемента при клике Derekovich Элементы интерфейса 25 05.12.2013 20:45