Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Незахлопывающееся меню (https://javascript.ru/forum/misc/2351-nezakhlopyvayushheesya-menyu.html)

artwalek 11.12.2008 20:38

Незахлопывающееся меню
 
Прошу прощения, если подобная тема поднималась.
Есть небольшой скрипт, который позволяет раскрывать и закрывать меню:

<script Language="Javascript">
function menuClick(elemId) {
   var currElement = document.getElementById(elemId);
   currElement.style.display = (currElement.style.display == 'none')? 'block' : 'none';}
</script>


Вызываем:
<p><a onClick="menuClick('01')" href="#">Родительская ссылка</a></p>
<div id="01" style="display: none;">
 <a href="1.html">Дочерняя ссылка1</a>
 <a href="2.html">Дочерняя ссылка2</a>
 <a href="3.html">Дочерняя ссылка3</a>
</div>


Проблема этого скрипта: при загрузки к примеру ссылки "Дочерняя ссылка1", меню, схлопывается (закрывается).
Может кто-нибудь подсказать, как решить эту проблему?
Новичок еще в это деле, сильно не ругайтесь :)
Спасибо.

PavelPetrov 11.12.2008 22:02

Так новая страница открывается. А DIV на ней устанавлен в display: none.
Можно в ссылке передать поведение DIVа
<a href="1.html?block">Дочерняя ссылка1</a>

И после загрузки страницы проверить то что передано, и изменить поведение.

artwalek 12.12.2008 08:50

Простите, но я ничего не понял :(

PavelPetrov 12.12.2008 20:34

artwalek,
Цитата:

Простите, но я ничего не понял
Мдяааа....... Вы действительно новичек.
У вас не меню схлопывается, а вы переходите на новую страницу. На новой странице все загружается по-новой (с нуля), и меню тоже. Новая страница не "знает" было ли на старой открыто меню или нет. Что бы новая страница "знала", нужно в ссылке передать какое-то значение. Его можно передать после знака ? в ссылке: "1.html?block".

Если вы поняли, что я изложил, тогда можно переходить к js. В любом случае, почитайте учебники, хотябы для того, что бы иметь представление о ссылках.

artwalek 16.12.2008 10:01

Цитата:

Сообщение от PavelPetrov (Сообщение 9533)
artwalek,

Мдяааа....... Вы действительно новичек.
У вас не меню схлопывается, а вы переходите на новую страницу. На новой странице все загружается по-новой (с нуля), и меню тоже. Новая страница не "знает" было ли на старой открыто меню или нет. Что бы новая страница "знала", нужно в ссылке передать какое-то значение. Его можно передать после знака ? в ссылке: "1.html?block".

Если вы поняли, что я изложил, тогда можно переходить к js. В любом случае, почитайте учебники, хотябы для того, что бы иметь представление о ссылках.

:) Все, теперь я вас понял. Да, конечно, не меню схлопывается, а страница загружается с нуля.


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