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

HTML+CSS+JavaScript

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

 

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

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

тема: Самое простое древовидное DHTML меню
 
 автор: hedgy   (24.01.2007 в 10:35)   письмо автору
 
 

Хотел приделать к своему сайту максимально простое dhtml меню, но так как сам знаю только Пыху, искал скрипт в интернете. Везде скрипты очень замороченые, а мне надо, чтобы обработчик был максимально короткий и не привязанный к самому меню (т.е. само меню - просто таблица с указатием класса).

Нашел один вариант -

<SCRIPT LANGUAGE="JavaScript">

function Toggle(node) {
// Unfold the branch if it isn't visible

if (node.nextSibling.style.display == 'none') {
// Change the image (if there is an image)
if (node.children.length > 0) {
if (node.children.item(0).tagName == "IMG") {
node.children.item(0).src = "minus.gif"; } }
node.nextSibling.style.display = ''; }
// Collapse the branch if it IS visible

else {
// Change the image (if there is an image)
if (node.children.length > 0) {
if (node.children.item(0).tagName == "IMG") {
node.children.item(0).src = "plus.gif"; } }
node.nextSibling.style.display = 'none'; } }
</SCRIPT>

Вот это часть обработчика. Но она СНАЧАЛА раскрывает ВСЕ подкатегории... А хотелось бы, чтобы юзер сам раскрывал нужные категории.


<TABLE BORDER=0>
   <TR><TD>
      <TABLE BORDER=0><TR><TD><IMG SRC="leaf.gif"> Analysis<DIV>
      </DIV></TD></TR></TABLE>
   </TR></TD>
   <TR><TD>
      <TABLE BORDER=0><TR><TD><A onClick="Toggle(this)"><IMG SRC="minus.gif"> Implementation</A><DIV>
         <TABLE BORDER=0><TR><TD WIDTH=10></TD><TD><IMG SRC="leaf.gif"> PHP<DIV>
         </DIV></TD></TR></TABLE>
         <TABLE BORDER=0><TR><TD WIDTH=10></TD><TD><A onClick="Toggle(this)"><IMG SRC="minus.gif"> Visual C++</A><DIV>
            <TABLE BORDER=0><TR><TD WIDTH=10></TD><TD><IMG SRC="leaf.gif"> Memory Leak problems<DIV>
            </DIV></TD></TR></TABLE>
            <TABLE BORDER=0><TR><TD WIDTH=10></TD><TD><IMG SRC="leaf.gif"> Database problems<DIV>
            </DIV></TD></TR></TABLE>
         </DIV></TD></TR></TABLE>
      </DIV></TD></TR></TABLE>
   </TR></TD>
   <TR><TD>
      <TABLE BORDER=0><TR><TD><IMG SRC="leaf.gif"> Design<DIV></DIV>
      </TD></TR></TABLE>
  </TR></TD>
</TABLE>


И вот таким образом показывается само меню. Конечно, тоже не сахар - но этот вариант гораздо проще остальных. В итоге выходит вот что: http://sources.ru/jscript/jscript_dhtml_tree_view.shtml

Подсобите, пожалуйста с проблемой! Перерыл уже весь рунет - безуспешно... Либо скрипты-монстры, либо не работают...

   
 
 автор: Lelik   (24.01.2007 в 11:40)   письмо автору
 
   для: hedgy   (24.01.2007 в 10:35)
 

присваивай всем блокам с подкатегориями свойство стиля display:none, а по нажатии на ссылку категории, необходимой категории свойство стиля меняй на display:block(inline, table, в общем по ситуации)

   
 
 автор: hedgy   (24.01.2007 в 17:37)   письмо автору
 
   для: Lelik   (24.01.2007 в 11:40)
 

ыыы у меня с Явкой туууго...
можно поподробнее?

   
 
 автор: hedgy   (24.01.2007 в 19:45)   письмо автору
 
   для: Lelik   (24.01.2007 в 11:40)
 

Люди добрые, ау!

   
Rambler's Top100
вверх

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