Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Меню
 
 автор: Tsamada   (05.01.2006 в 12:45)   письмо автору
 
 

Намучал себе раскрывающееся меню, но есть небольшое но! Когда я раскрываю один пункт меню, а потом второй то первый не сворачивается... и... еще... простите :) оно сделано при помощи JavaScript, а хотелось бы увидеть реализацию на PHP.
Стиль

.folding{cursor:hand; color: #1b4f88; text-decoration: underline; font-weight: bold}

Ява кусок

<SCRIPT language=JavaScript1.2>
<!--
var head="display:''"
   function change(){
       if(!document.all) return
       if (event.srcElement.className=="folding")
        {
var x=event.srcElement.parentElement
       if (x.all[2].style.display=="none")
          {
   x.all[2].style.display=''
          }
      else{
   x.all[2].style.display="none"
              }

        }
}
document.onclick=change
//--></SCRIPT>

Использование :)

<ul>
                  <DIV><IMG height=1 width=1><SPAN class=menu>Пункт1
                  <UL style="DISPLAY: none; head: ">
                    <LI><A href="index.php?id=1">Пункт1.1</A>
                    <LI><A href="#">Пункт1.2</A>
                    <LI><A href="#">Пункт1.3</A></SPAN>
                    </UL>
                  </DIV>
                  
                  <DIV><IMG height=1 width=1><SPAN class=menu>Пункт2
                  <UL style="DISPLAY: none; head: ">
                    <LI><A href="#">Пункт2.1</A> 
                    <LI><A href="#">Пункт2.2</A> 
                    <LI><A href="#">Пункт2.3</A> </SPAN>
                    </UL></DIV>
</ul>

Заранее благодарен.

   
 
 автор: 10100100   (05.01.2006 в 13:25)   письмо автору
 
   для: Tsamada   (05.01.2006 в 12:45)
 

Ну на сколько мне известно - на php такого не сотваришь ибо сценарии выполняются на сервере а только затем уже отправляются результаты пользовательской машине - следовательно - это не есть реально... от пожалуй и всё, а Ваш вопрос относительна закрытия менюшки лучше направить в форум по Jav'e

   
 
 автор: Duran   (05.01.2006 в 13:43)   письмо автору
1.8 Кб
 
   для: Tsamada   (05.01.2006 в 12:45)
 

PHP вообще то серверный язык, поэтому динамическое меню не получится.
На JS ваше меню должно либо запоминать последнюю открытую ветвь, что бы потом ее закрыть, либо закрыть все, а потом открыть то, что было нажато последним.
Вот готовый кроссбраузерный код.

   
 
 автор: Tsamada   (05.01.2006 в 14:35)   письмо автору
 
   для: Duran   (05.01.2006 в 13:43)
 

Спасибо. :)
И в догонку, как тогда сделать что бы было бы :) . В общем чтоб нажал я на ссылку, а ветка, в которой я нажал ссылку, не сворачивалась обратно.
Примного благодарен.

   
 
 автор: Duran   (06.01.2006 в 08:35)   письмо автору
 
   для: Tsamada   (05.01.2006 в 14:35)
 

Кхм... не поняла :-)
Нужно, что бы открытая ветка осталась открытой после перезагрузки ?
Если так, то 3 варианта:
1 - работа с ключами (кукис)
2 - передача id diva открытой ветки через GET в виде параметра для дальнейшей обработки JS скрипту по onload.
3 - передача id divа открытой ветки через GET PHP скрипту на стороне которого формируется доп. строка типа id.style.display = "block"; , которую нужно прописать в onload.
2 последних очень просты в реализации.

   
 
 автор: Tsamada   (06.01.2006 в 16:35)   письмо автору
 
   для: Duran   (06.01.2006 в 08:35)
 

:) Правильно поняли...
А как реализовать? Спрашиваю, потому что новичек и не во всем понимаю :)

   
 
 автор: 12345   (10.01.2006 в 14:28)   письмо автору
 
   для: Tsamada   (06.01.2006 в 16:35)
 

Тут тщательно отработали открывание и закрывание меню. http://www.softtime.ru/forum/read.php?id_forum=4&id_theme=10464&page=1. В других примерах тоже.

   
 
 автор: Duran   (10.01.2006 в 17:00)   письмо автору
 
   для: Tsamada   (06.01.2006 в 16:35)
 

Ну раз так, тада по существу:
В тело скрипта (между тегами <script> </script>) вставьте такую функцию


function init()
{
var string = location.search;
var current_str=string.substring (1, string.length);
SwitchMenu(current_str);
}

А в теге <BODY> пропишите ее старт по загрузке таким образом:


<body onload="init()";>

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования