Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 25.03.2014, 01:10
Интересующийся
Отправить личное сообщение для AlertMod Посмотреть профиль Найти все сообщения от AlertMod
 
Регистрация: 18.03.2013
Сообщений: 11

Помогите с меню
Доброго времени суток!
есть такой вот код
function openbox(id){
    display = document.getElementById(id).style.display;

    if(display=='block'){
       document.getElementById(id).style.display='none';
       document.getElementById('close').style.display='none';
    }else{
       document.getElementById(id).style.display='block';
       document.getElementById('close').style.display='block';
    }
}


а так же меню

<div class="sidebar">
				<ul>
					<li><a href="/" class="f_item"><span>»</span> Главная</a></li>
					<li><a href="/" class="f_item"><span>»</span> Медицинские услуги</a></li>
					<li><u onclick="openbox('pi'); return false" class="f_item click_menu"><span>»</span> подготовка к исследованиям</u>
						<ul class="open_menu" id="pi">
							<li class="s_item"><span>»</span> <a href="/">Сбор мочи</a></li>
							<li class="s_item"><span>»</span> <a href="/">УЗИ</a></li>
							<li class="s_item"><span>»</span> <a href="/">Исследование на энтеробиоз</a></li>
							<li class="s_item"><span>»</span> <a href="/">Посев мокроты</a></li>
							<li class="s_item"><span>»</span> <a href="/">Холтеровское мониторирование</a>
								<ol>
									<li class="t_item"><span>-</span> <a href="/">Электроэнцефалография (ЭЭГ)</a></li>
									<li class="t_item"><span>-</span> <a href="/">Реоэнцефалография (РЭГ)</a></li>
									<li class="t_item"><span>-</span> <a href="/">Реовазография (РВГ)</a></li>
									<li class="t_item"><span>-</span> <a href="/">Функция внешнего дыхания (ФВД)</a></li>
									<li class="t_item"><span>-</span> <a href="/">Электрокардиография (ЭКГ)</a></li>
								</ol>
							</li>
							<li class="s_item"><span>»</span> <a href="/">Исследование мазка из зева</a></li>
							<li class="s_item"><span>»</span> <a href="/">Подготовка к фиброгастроскопии</a></li>
							<li class="s_item"><span>»</span> <a href="/">Подготовка к осмотру врачом-проктологом</a></li>
							<li class="s_item"><span>»</span> <a href="/">Подготовка к рентгену</a></li>
							<li class="s_item"><span>»</span> <a href="/">Подготовка к консультации гинеколога</a></li>
						</ul>
					</li>
					<li><a href="/" class="f_item"><span>»</span> Запись на прием</a></li>
					<li><u onclick="openbox('about'); return false" class="f_item click_menu"><span>»</span> О цкдд малыш</u>
						<ul class="open_menu" id="about">
							<li class="s_item"><span>»</span> <a href="/">Об организации</a></li>
							<li class="s_item"><span>»</span> <a href="/">Наши новости</a></li>
							<li class="s_item"><span>»</span> <a href="/">Контакты</a></li>
						</ul>
					</li>
					<li><a href="/" class="f_item"><span>»</span> Фотогалерея</a></li>
					<li><a href="/" class="f_item"><span>»</span> Вакансии</a></li>
					<li><a href="/" class="f_item"><span>»</span> Прайс</a></li>
					<li><a href="/" class="f_item"><span>»</span> Форум</a></li>
				</ul>
				
				<div id="close" onclick="openbox('pi'); return false"></div>
			</div>

когда нажимаешь на пункт меню подготовка к исследованиям

открывается скрытое меню, а так же разворачивается фиксированный div #close на всю страницу, так чтобы при клике в любое место кроме меню, второе меню скрывалось.
Как мне сделать так что бы можно использовать несколько таких вложенных меню, может на #close повесть через onclick чтобы у класса open_menu менялся display?
Ответить с цитированием
  #2 (permalink)  
Старый 25.03.2014, 12:54
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,121

AlertMod,
так?
<!DOCTYPE HTML>

<html>

<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css">
    body{
      background-color: #E0FFFF;
      margin: 0px;
      padding: 0px;
    }
  .open_menu {
    display: none;
  }
  .click_menu {
    cursor: pointer;
  }
 #close {
    display: none;
    position: absolute;
    width: 100%; height: 100%;
    top:0px;
    background-color: #000;
    opacity: 0.5;

    }
  </style>
  <script>
       function nextElementSibling(el) {
  do { el = el.nextSibling } while ( el && el.nodeType !== 1 );
  return el;
}
     var obj;
    document.onclick = function (event) {
        var target = (event && event.target) || window.event.srcElement;
        while (target != this) {
            if (target.className.indexOf('click_menu')!=-1) {
                obj && obj != nextElementSibling(target) && (obj.style.display = 'none');
                obj = nextElementSibling(target);
                obj.style.display = obj.style.display != 'block' ? 'block' : 'none';
                return;
            };
               target = target.parentNode;

        };
       target == this && obj && (obj.style.display = 'none')
    };  </script>
</head>
<body>
 <div class="sidebar">
				<ul>
					<li><a href="/" class="f_item"><span>»</span> Главная</a></li>
					<li><a href="/" class="f_item"><span>»</span> Медицинские услуги</a></li>
					<li><u class="f_item click_menu"><span>»</span> подготовка к исследованиям</u>
						<ul class="open_menu" id="pi">
							<li class="s_item"><span>»</span> <a href="/">Сбор мочи</a></li>
							<li class="s_item"><span>»</span> <a href="/">УЗИ</a></li>
							<li class="s_item"><span>»</span> <a href="/">Исследование на энтеробиоз</a></li>
							<li class="s_item"><span>»</span> <a href="/">Посев мокроты</a></li>
							<li class="s_item"><span>»</span> <a href="/">Холтеровское мониторирование</a>
								<ol>
									<li class="t_item"><span>-</span> <a href="/">Электроэнцефалография (ЭЭГ)</a></li>
									<li class="t_item"><span>-</span> <a href="/">Реоэнцефалография (РЭГ)</a></li>
									<li class="t_item"><span>-</span> <a href="/">Реовазография (РВГ)</a></li>
									<li class="t_item"><span>-</span> <a href="/">Функция внешнего дыхания (ФВД)</a></li>
									<li class="t_item"><span>-</span> <a href="/">Электрокардиография (ЭКГ)</a></li>
								</ol>
							</li>
							<li class="s_item"><span>»</span> <a href="/">Исследование мазка из зева</a></li>
							<li class="s_item"><span>»</span> <a href="/">Подготовка к фиброгастроскопии</a></li>
							<li class="s_item"><span>»</span> <a href="/">Подготовка к осмотру врачом-проктологом</a></li>
							<li class="s_item"><span>»</span> <a href="/">Подготовка к рентгену</a></li>
							<li class="s_item"><span>»</span> <a href="/">Подготовка к консультации гинеколога</a></li>
						</ul>
					</li>
					<li><a href="/" class="f_item"><span>»</span> Запись на прием</a></li>
					<li><u class="f_item click_menu"><span>»</span> О цкдд малыш</u>
						<ul class="open_menu" id="about">
							<li class="s_item"><span>»</span> <a href="/">Об организации</a></li>
							<li class="s_item"><span>»</span> <a href="/">Наши новости</a></li>
							<li class="s_item"><span>»</span> <a href="/">Контакты</a></li>
						</ul>
					</li>
					<li><a href="/" class="f_item"><span>»</span> Фотогалерея</a></li>
					<li><a href="/" class="f_item"><span>»</span> Вакансии</a></li>
					<li><a href="/" class="f_item"><span>»</span> Прайс</a></li>
					<li><a href="/" class="f_item"><span>»</span> Форум</a></li>
				</ul>
				<div id="close" onclick="openbox('pi'); return false"></div>
			</div>
</body>
</html>

Последний раз редактировалось рони, 06.04.2014 в 21:59.
Ответить с цитированием
  #3 (permalink)  
Старый 25.03.2014, 13:50
Интересующийся
Отправить личное сообщение для AlertMod Посмотреть профиль Найти все сообщения от AlertMod
 
Регистрация: 18.03.2013
Сообщений: 11

Да, почти. только мне нужно чтобы при открытии меню, на весь экран открывался блок #close и в любое место кликнув меню закроется
вот пример
Ответить с цитированием
  #4 (permalink)  
Старый 25.03.2014, 14:21
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,121

AlertMod,
вариант выше добавлен - любой клик вне меню закроет вложенное меню - работает без id="close"
Ответить с цитированием
  #5 (permalink)  
Старый 25.03.2014, 14:51
Интересующийся
Отправить личное сообщение для AlertMod Посмотреть профиль Найти все сообщения от AlertMod
 
Регистрация: 18.03.2013
Сообщений: 11

рони,
Спасибо большое!
Ответить с цитированием
  #6 (permalink)  
Старый 06.04.2014, 20:37
Интересующийся
Отправить личное сообщение для AlertMod Посмотреть профиль Найти все сообщения от AlertMod
 
Регистрация: 18.03.2013
Сообщений: 11

А что бы в ie8 работало не подскажите?
Ответить с цитированием
  #7 (permalink)  
Старый 06.04.2014, 22:07
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,121

Сообщение от AlertMod
А что бы в ie8 работало не подскажите?
вариант выше добавлен для ie8...ie7...ie6
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите доработать меню Fox Mulder Элементы интерфейса 3 01.08.2013 12:34
Помогите с анимацией выпадающего меню strengerst Элементы интерфейса 13 31.07.2013 12:27
Помогите по Drop Line меню e.lodyanov Элементы интерфейса 2 20.12.2012 11:31
Проблема с аккордионом и меню Tie ExtJS 3 01.09.2011 14:36
помогите с меню Ribt Общие вопросы Javascript 0 20.09.2008 08:11