Написать toggle menu
нужно такое меню:
меню 1 меню 2 меню 3 процесс: щелкну например на меню 2 - все остальные меню пропадают, и у каждого меню должена быть урл например mysite.ru/#menu1 mysite.ru/#menu2 итд. |
Nemo, сложно посмотреть алгоритм в соседней теме?
|
мне нужно сдлеать так что бы
по mysite/#main открывался блок <div id="main" |
видимо так:
document.getElementById(window.location.hash).onclick = function() { [...] }; |
допустим вот код
<html> <head> <script> // Обворачиваем функцию toggle в локальное замыкание: var toggle = function() { // Ссылка на текущий открытый div: var currentDiv = null; // Функция для "раскрытия" элемента: function open(divElement) { // Тут можно добавить эффект "плавного" открытия: divElement.style.display = "block"; currentDiv = divElement; } // Функция для "закрытия" элемента: function close(divElement) { // Тут можно добавить эффект "плавного" закрытия: divElement.style.display = "none"; currentDiv = null; } // Возвращаем функцию, которая будет вызываться по toggle() return function(divID) { // Получаем элемент из DOM var divElement = document.getElementById(divID); // Если такой есть: if (divElement) { // Если уже открыт какой-то div - закрываем. if(currentDiv != null) close(currentDiv); // Открываем вызваный. open(divElement); } } // Вызываем нашу "обертку", теперь toggle() вызывает функцию, описанную по "return" }(); </script> <style> .myDiv { display: none; } </style> </head> <body> <a id="menu1" href="javascript://" onClick="toggle('div1')">Link1</a> <div class="myDiv" id="div1"> Содержание<br /> Содержание<br /> Содержание<br /> Содержание<br /> Содержание<br /> Содержание<br /> Содержание<br /> </div> <br /> <a href="javascript://" onClick="toggle('div2')">Link2</a> <div class="myDiv" id="div2"> Содержание<br /> Содержание<br /> Содержание<br /> Содержание<br /> Содержание<br /> Содержание<br /> Содержание<br /> </div> <br /> <a href="javascript://" onClick="toggle('div3')">Link3</a> <div class="myDiv" id="div3"> Содержание<br /> Содержание<br /> Содержание<br /> Содержание<br /> Содержание<br /> Содержание<br /> Содержание<br /> </div> <br /> </body> </html> мне что нужно ьдописать это? document.getElementById(window.location.menu1).onc lick = toggle('div1'); |
неканает помоги довести
|
здешние хелперы" САМЫЕ ОПТЫТНЫЕ НАСТОЛЬКО ЧТО ИХНЯЯ АКТИВНОСТЬ ТОЛЬКО ВЕСТИ В ВАКАНСИЯХ ПРИЧЕМ БЕСКОНЕЧНО ИХ ВСЕ ТАМ НЕУСТРАИВАЕТ"
|
Цитата:
<script> window.onload = function() { var links = document.getElementById('menu').getElementsByTagName('a'), i = links.length; while(i--) { links[i].onclick = function() { var str = this.hash.replace(/#/, ''), dd = document.getElementById(str), childrens = dd.parentNode.children, i = childrens.length; while(i--) { var node = childrens[i]; if(node.nodeName == 'DD' && node.id != str) { node.style.display = ''; } } dd.style.display = (dd.style.display == '') ? 'block' : ''; return false; }; } }; </script> <dl id="menu"> <dt><a href="#link1">click1</a></dt> <dd id="link1">text1</dd> <dt><a href="#link2">click2</a></dt> <dd id="link2">text2</dd> <dt><a href="#link3">click3</a></dt> <dd id="link3">text3</dd> </dl> <style> dd {display: none;} </style> |
какая строка в урл должнв быть что бы меню сработало? /#link1 неработет
|
Цитата:
|
и заодно убери всвоем коде чтобы нажимая второй раз ссылку на саму себя хиден несрабатывал
|
Непонял про что за хеш что и для чего это?
|
Цитата:
Цитата:
|
мне нужно чтобы по ссылки открывались тоже а у тя нехергна неработают
|
- ты мне показался гейскийкод и обсикался всвои штаньшки и бежал к матушке сасать сисю
|
рано из дурки тебя выписали, ничему жизнь не учит;)
|
трудно написать такое по урл?
|
потом пришел напи-сал натему и убежал дальше сасать сисю
|
Цитата:
Он лет до 18 такими выражениями бросался |
эх.
я даже немного скучал по этому парню) он как мартышка-зомби. всех бесит, но без него никак |
Цитата:
|
ага, осталось только номер своей аськи дать :D
|
Часовой пояс GMT +3, время: 10:48. |