Показать сообщение отдельно
  #1 (permalink)  
Старый 18.01.2014, 16:15
Профессор
Отправить личное сообщение для Batyabest Посмотреть профиль Найти все сообщения от Batyabest
 
Регистрация: 14.09.2013
Сообщений: 252

Выпадающее меню
Всем привет.
Сделал такое вот выпадающее меню.
Все вроде устраивает, за исключением одного - при клике по пункту меню первого уровня происходит простое разворачивание пунктов 2 уровня.
А как сделать, чтобы происходил переход по ссылке и одновоременное разворачивание пунктов вложенных в этот пункт меню.
То есть если я Кликнул по пункту "Пляжные туры" - то перешел на страницу пляжные туры и теперь у меня все вложенные пункты стали видны. А то они скрываются при каждом обновлении страницы. Неудобно.
<div id="leftmenu">
<h2 class="leftfont">Виды туров:</h2>
<div id="menu_body">
	<ul>
		<li><a href="/" onclick="openMenu('sub_menu_1');return(false)">Пляжные туры</a>
			<ul id="sub_menu_1">
				<li><a href="#">Багамы</a></li>
				<li><a href="#">Болгария</a></li>
				<li><a href="#">Вьетнам</a></li>
			</ul>
		</li>
		<li><a href="/" onclick="openMenu('sub_menu_2');return(false)">Экскурсионные туры</a>
			<ul id="sub_menu_2">
				<li><a href="#">Австрия</a></li>
				<li><a href="#">Бельгия</a></li>
				<li><a href="#">Германия</a></li>
			</ul>
		</li>
		<li><a href="/" onclick="openMenu('sub_menu_3');return(false)">Автобусные туры</a>
			<ul id="sub_menu_3">
				<li><a href="#">Австрия</a></li>
				<li><a href="#">Бельгия</a></li>
				<li><a href="#">Великобритания</a></li>
			</ul>
		</li>
	</ul>
</div>
</div>


var id_menu = new Array('sub_menu_1','sub_menu_2','sub_menu_3');
startList = function allclose() {
	for (i=0; i < id_menu.length; i++){
		document.getElementById(id_menu[i]).style.display = "none";
	}
}
function openMenu(id){
	for (i=0; i < id_menu.length; i++){
		if (id != id_menu[i]){
			document.getElementById(id_menu[i]).style.display = "none";
		}
	}
	if (document.getElementById(id).style.display == "block"){
		document.getElementById(id).style.display = "none";
	}else{
		document.getElementById(id).style.display = "block";
	}
}
window.onload=startList;
Ответить с цитированием