Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Запоминание состояния раздвижного JS меню (https://javascript.ru/forum/misc/35209-zapominanie-sostoyaniya-razdvizhnogo-js-menyu.html)

kapralpv 03.02.2013 17:47

Запоминание состояния раздвижного JS меню
 
Вот код простого раздвижного JS меню (без стилей CSS):

<!-- menumx1 --> 
<table width="100%" border="0px">
<tr><td><a href="javascript://" onclick="$('#menumx1').slideToggle('slow');" class="diz-a_menu-main">РАЗДЕЛ 1</a></td></tr></table>
<div id="menumx1" style="display: none; padding-left: 5px;">
<table width="100%">
<tr><td><a class="diz-a_menu-main1" href="http://ссылка 1">КАТЕГОРИЯ A</a></td></tr> 
<tr><td><a class="diz-a_menu-main1" href="http://ссылка 2">КАТЕГОРИЯ B</a></td></tr> 
<tr><td><a class="diz-a_menu-main1" href="http://ссылка 3">КАТЕГОРИЯ C</a></td></tr> 
</table></div> 
<!-- /menumx1 -->
 
<!-- menumx2 --> 
<table width="100%" border="0px">
<tr><td><a href="javascript://" onclick="$('#menumx2').slideToggle('slow');" class="diz-a_menu-main">РАЗДЕЛ 2</a></td></tr></table>
<div id="menumx2" style="display: none; padding-left: 5px;">
<table width="100%">
<tr><td><a class="diz-a_menu-main1" href="http://ссылка 1">КАТЕГОРИЯ D</a></td></tr> 
<tr><td><a class="diz-a_menu-main1" href="http://ссылка 2">КАТЕГОРИЯ E</a></td></tr> 
<tr><td><a class="diz-a_menu-main1" href="http://ссылка 3">КАТЕГОРИЯ F</a></td></tr> 
</table></div> 
<!-- /menumx1 -->


Помогите реализовать следующее:

Нужно чтобы в меню после открытия "РАЗДЕЛА 1" (onclick), пользователь мог переходить по категориям ("КАТЕГОРИЯ A", "КАТЕГОРИЯ B", "КАТЕГОРИЯ C"), открывая соответствующие страницы сайта, и при этом меню выбранного раздела оставалось открытым (развернутым). Как только пользователь кликает по "РАЗДЕЛУ 2" - предыдущий должен автоматически свернуться, а выбранный наоборот развернуться, и теперь пользователь мог переходить по категориям D, E, F и все содержимое "РАЗДЕЛА 2" оставалось для него открытым до тех пор, пока он не закроет его или же не перейдет в другой раздел.

Deff 03.02.2013 18:00

http://javascript.ru/forum/dom-windo...tml#post182559

рони 03.02.2013 22:45

kapralpv,
Вариант для вашего случая ... добавил классы для div и убрал onclick из ссылок...:write:
<!DOCTYPE HTML>
<html>
<head>
  <title></title>
  <meta charset="utf-8" />
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script type="text/javascript">
$(document).ready(function () {
	 $('.diz-a_menu-main').click(function (event) {
     $(".diz-div_menu-main").slideUp();
     if($(this).parents('table').next().is(":hidden"))$(this).parents('table').next().slideDown() ;
     event.stopPropagation();
	});
});
</script>
</head>
<body>
<!-- menumx1 -->
<table width="100%" border="0px">
<tr><td><a href="javascript://" class="diz-a_menu-main">РАЗДЕЛ 1</a></td></tr></table>
<div id="menumx1" style="display: none; padding-left: 5px;" class="diz-div_menu-main">
<table width="100%">
<tr><td><a class="diz-a_menu-main1" href="http://ссылка 1">КАТЕГОРИЯ A</a></td></tr>
<tr><td><a class="diz-a_menu-main1" href="http://ссылка 2">КАТЕГОРИЯ B</a></td></tr>
<tr><td><a class="diz-a_menu-main1" href="http://ссылка 3">КАТЕГОРИЯ C</a></td></tr>
</table></div>
<!-- /menumx1 -->

<!-- menumx2 -->
<table width="100%" border="0px">
<tr><td><a href="javascript://"  class="diz-a_menu-main">РАЗДЕЛ 2</a></td></tr></table>
<div id="menumx2" style="display: none; padding-left: 5px;" class="diz-div_menu-main">
<table width="100%">
<tr><td><a class="diz-a_menu-main1" href="http://ссылка 1">КАТЕГОРИЯ D</a></td></tr>
<tr><td><a class="diz-a_menu-main1" href="http://ссылка 2">КАТЕГОРИЯ E</a></td></tr>
<tr><td><a class="diz-a_menu-main1" href="http://ссылка 3">КАТЕГОРИЯ F</a></td></tr>
</table></div>
<!-- /menumx1 -->

</script>
</body>
</html>


Часовой пояс GMT +3, время: 08:44.