Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.224.37.68] |
|
Сообщ.
#1
,
|
|
|
Подскажите пожалуйста, как реализовывается структура дерева...Хотя бы простейшего. Желательно, чтобы поддерживалась большенством броузеров. В итоге на 3-ем уровне будут ссылки. Желательно в текстовом режиме. Т.е. без всяких там выпендронов под винду.
Добавлено в : Уточню, я хочу чтобы у меня было следующее отображение: Цитата Пункт 1 Подпункт 1 Ссылка 1 Ссылка 2 Подпункт 2 Подпункт 3 Пункт 2 Подпункт 4 Подпункт 5 Подпункт 6 Чтобы это открывалось динамически из загруженных массивов данных. |
Сообщ.
#2
,
|
|
|
Ну еще точнее, можно было бы, чтобы я сразу такую менюху формировал, но чтобы вложенные элементы были не видны, а потом при нажатии на пункт появлялось и при повторном нажатии исчезало
|
Сообщ.
#3
,
|
|
|
Велосипед изобретать не надо,
дело в том, что любой HTML документ - это уже дерево. Примерно такое: HTML | |----HEAD | |---TITLE | |---META | |----BODY | |----DIV .................. Другой вопрос, что не каждый умеет этим деревом пользоватся. Вот очень хорошая ссылка Основы DOM А конкретно про меню читай - Динамическая подгрузка меню (сообщение #447477) |
Сообщ.
#4
,
|
|
|
если тебе не надо периодически подгружать и отгружать часть меню, как в меню, которое ты найдешь по предложенной Mixxxом ссылке, (то есть все меню сразу при первой загрузке может уже находится в памяти), то могу помочь с готовым кодом. использовал xml+javascript(DOM)
гарантирую работу в IE(больше нигде не тестил), но скрипт можно подправить так, что все будет ок. Добавлено в : сразу предупредждаю, я не такй спец как Mixxx, поэтому мое решение может быть не таким профессиональным. но точно скажу - выглядит оно попроще |
Сообщ.
#5
,
|
|
|
Цитата shipbrother, 7.09.04, 00:31 использовал xml+javascript(DOM) Интересно а как именно у тебя реализовано "сцепление" HTML с XML? С помощью тега <XML>? |
Сообщ.
#6
,
|
|
|
да, с помошью тега <XML>.
|
Сообщ.
#7
,
|
|
|
Большое спасибо за советы. Но у меня ситуация такая, что не хотел бы использовать XML...Выходные данные у меня подгатавливает php скрипт. И мне просто необходимо правильно понять, как реализовывается это меню...Чтобы оно разворачивалось и сворачивалось при нажатии на пункты. Я предполагал сделать это следующим способом. Подгружать все, но некоторые блоки делать hidden, а потом можно их сделать видимыми?
|
Сообщ.
#8
,
|
|
|
Цитата SER-Gun, 7.09.04, 04:52 а потом можно их сделать видимыми? Естественно! display: block; Для чего нужен? Даю ссылку на сайт. Там есть классные скрипты менюшек - глянь! http://www.twinhelix.com/ P.S.: остальным тоже советую! |
Сообщ.
#9
,
|
|
|
Я там поползал, что-то мне ничего не понравилось...
Есть вопрос следующий, как скрыть какой-то блок, а потом его вывести при нажатии на какой-то элемент. И как вообще выделить этот блок. Желательно на примерчике, если у кого есть. |
Сообщ.
#10
,
|
|
|
Скрыть
obj.style.display='none' Показать obj.style.display='block' А что значит выделить? |
Сообщ.
#11
,
|
|
|
obj в данном случае это имя объекта?
Вот у меня предположим есть текст: Ссылка 1 Ссылка 2 Как его выделить в единый блок? Который будет исчезать и появляться? |
Сообщ.
#12
,
|
|
|
obj я так понял это то, что ты прописал в id
<a id="ssilka" .......>My Super Link</a> Не знаю сработает ли это дело относительно <a>, но вот <div> прятать одно удовольствие, я думаю. Кстати, а что насчет не display, а hidden? В чем разница? Противопоказания есть? |
Сообщ.
#13
,
|
|
|
Astaroth, obj - это
document.getElementById(element_id) |
Сообщ.
#14
,
|
|
|
Так и я обо что! Это ввиду и имел.
|
Сообщ.
#15
,
|
|
|
Цитата Astaroth, 8.09.04, 19:09 Кстати, а что насчет не display, а hidden? В чем разница? Противопоказания есть? А что такое hidden? |
Сообщ.
#16
,
|
|
|
Цитата Mixxx, 9.09.04, 10:00 А что такое hidden? Пардон, был не прав, исправлюсь. Попутался с абсолютно другой вещью. Глюк-с... |
Сообщ.
#17
,
|
|
|
Вот примерчиков парочка, написано за 15 минут, так что
не пужайтесь сильно Читать с форума, наверное, невозможно, но если скопировать... Пара недостатков: жестко привязан к конструкции таблиц (для другой структуры будет необходимо немного переписать скрипты). А еще разобраться сложно <html> <head> <style type="text/css"> .ultd { border-bottom: 1px solid black; } .ultd { border-up: 1px solid black; } </style> <script language="JavaScript"> function Toggle(node,tagDes) { if (node.nextSibling.nextSibling.style.display == 'none') { if (node.children.length > 0) { if (node.children.item(0).tagName == "IMG") { node.children.item(0).src = "minus.gif"; } } node.nextSibling.nextSibling.style.display = 'block'; DoSize(document.all['upperTr'],tagDes,1); DoSizeL(document.all['upperTr'],tagDes,1); } else { if (node.children.length > 0) { if (node.children.item(0).tagName == "IMG") { node.children.item(0).src = "plus.gif"; } } node.nextSibling.nextSibling.style.display = 'none'; DoSize(document.all['upperTr'],tagDes,2); DoSizeL(document.all['upperTr'],tagDes,2); } } function DoSizeL(node,tagDes,opcl) { if (node.nextSibling) { if (node.children.length>0) { for (i=0; i<node.nextSibling.children.item(0).children.item(0).children.item(0).children.length; i++) { if (node.nextSibling.children.item(0).children.item(0).children.item(0).children.item(i).className=='i'+tagDes+'i') { if (opcl==1) {node.nextSibling.children.item(0).children.item(0).children.item(0).children.item(i).style.display='block'; } else { node.nextSibling.children.item(0).children.item(0).children.item(0).children.item(i).style.display='none'; } } } } DoSizeL(node.nextSibling,tagDes,opcl); } } function DoSize(node,tagDes,opcl) { if (node.nextSibling) { if (node.nextSibling.className=='i'+tagDes+'i') { if (opcl==1) { node.nextSibling.style.display='block'; } else { node.nextSibling.style.display='none'; } } DoSize(node.nextSibling,tagDes,opcl); } } </script> </head> <body style="font-family: serif, Arial; font-size: 11;"> <center> <table cellspacing="0" cellpadding="0"> <tr style="background: #AAAAAA; height: 35px; position: relative;"><td colspan="2"><img align="left" style="position: relative; top: 7; left: -3;" src="down2.gif" border="0"><div style="position: relative; top: 11; left: -3; font-size: 13;">Московская ж.д.</div> <div align="right" style="position: absolute; top: 11; font-size: 13; right: 0;"><b>ВНИИАС. Пример дерева.   </b></div></td></tr> <tr><td style="width: 130px; border-left: 1px solid black;"><div style="position: relative; top: 0; left: 0; width: 100%; height: 100%;"> <TABLE cellspacing="0" cellpadding="0" BORDER="0" style="border-bottom: 1px solid black; width: 100%;"> <tr><td style="width: 100%;"> <a onClick="Toggle(this,'1');"> <IMG src="plus.gif" style="cursor: hand;" Click="alert('');"></a><font> C:\</font><DIV style="display: none; position: relative; left: 10;"> <table cellspacing="0" cellpadding="0" border="0"> <tr><td> <a onClick="Toggle(this,'2');"> <IMG src="plus.gif" style="cursor: hand;"></a><font> Program Files</font><DIV style="display: none;"> <table cellspacing="0" cellpadding="0" border="0"> <tr><td>    <IMG src="dot.gif"> setup.exe</td></tr> <tr><td>    <IMG src="dot.gif"> MSoffice.exe</td></tr> <tr><td>    <IMG src="dot.gif"> conf.txt</td></tr> </table> </DIV> </td></tr> <tr><td> <a onClick="Toggle(this,'3');"> <IMG src="plus.gif" style="cursor: hand;"></a><font> Works</font><DIV style="display: none;"> <table cellspacing="0" cellpadding="0" border="0"> <tr><td>    <IMG src="dot.gif"> java.java</td></tr> <tr><td>    <IMG src="dot.gif"> jsp.jsp</td></tr> </table> </DIV> </td></tr> <tr><td> <a onClick="Toggle(this,'4');"> <IMG src="plus.gif" style="cursor: hand;"></a><font> Windows</font><DIV style="display: none;"> <table cellspacing="0" cellpadding="0" border="0"> <tr><td>    <IMG src="dot.gif"> win.exe</td></tr> </table> </DIV> </td></tr> </table> </DIV> </td></tr> <tr><td style="width: 100%;"> <a onClick="Toggle(this,'5');"> <IMG src="plus.gif" style="cursor: hand;" Click="alert('');"></a><font> D:\</font><DIV style="display: none; position: relative; left: 20;"> <table cellspacing="0" cellpadding="0" border="0"> <tr><td> <a onClick="Toggle(this,'6');"> <IMG src="plus.gif" style="cursor: hand;"></a><font> autorun</font><DIV style="display: none;"> <table cellspacing="0" cellpadding="0" border="0"> <tr><td>    <IMG src="dot.gif"> autorun.inf</td></tr> </table> </DIV> </td></tr> </table> </DIV> </td></tr> </TABLE></td><td> <div style="position: relative; top: 0; left: 0; width: 500px;"> <TABLE cellspacing="0" cellpadding="0" style="border-right: 1px solid black; border-left: 1px solid #CCCCCC; border-bottom: 1px solid #CCCCCC;"> <tr><td width="700"> <table cellspacing="0" cellpadding="0"> <tr name="upperTr" id="upperTr" width="700px"><td> <table cellspacing="0" cellpadding="0"> <tr><td width="100"><center>-</center></td><td width="100"><center>-</center></td><td width="100"><center>-</center></td><td width="100"><center>-</center></td><td width="100"><center>-</center></td></tr> <tr><td width="100"><center>-</center></td><td width="100"><center>-</center></td><td width="100"><center>-</center></td><td width="100"><center>-</center></td><td width="100"><center>-</center></td></tr> </table> </td> </tr> <tr class="i1i" style="display: none;"><td> <table cellspacing="0" cellpadding="0"> <tr><td> <table cellspacing="0" cellpadding="0"> <td width="100"><center>-</center></td><td width="100"><center>-</center></td><td width="100"><center>-</center></td><td width="100"><center>-</center></td><td width="100"><center>-</center></td></tr> </table> </td></tr> <tr class="i2i" style="display: none;"><td> <table cellspacing="0" cellpadding="0"> <tr><td width="100"><center>-</center></td><td width="100"><center>-</center></td><td width="100"><center>-</center></td><td width="100"><center>-</center></td><td width="100"><center>-</center></td></tr> <tr><td width="100"><center>-</center></td><td width="100"><center>-</center></td><td width="100"><center>-</center></td><td width="100"><center>-</center></td><td width="100"><center>-</center></td></tr> <tr><td width="100"><center>-</center></td><td width="100"><center>-</center></td><td width="100"><center>-</center></td><td width="100"><center>-</center></td><td width="100"><center>-</center></td></tr> </table> </td></tr> </table> </td></tr> <tr class="i1i" name="aaa" id="aaa" style="display: none;"><td> <table cellspacing="0" cellpadding="0"> <tr><td> <table cellspacing="0" cellpadding="0"> <td width="100"><center>-</center></td><td width="100"><center>-</center></td><td width="100"><center>-</center></td><td width="100"><center>-</center></td><td width="100"><center>-</center></td></tr> </table> </td></tr> <tr class="i3i" style="display: none;"><td> <table cellspacing="0" cellpadding="0"> <tr><td width="100"><center>-</center></td><td width="100"><center>-</center></td><td width="100"><center>-</center></td><td width="100"><center>-</center></td><td width="100"><center>-</center></td></tr> <tr><td width="100"><center>-</center></td><td width="100"><center>-</center></td><td width="100"><center>-</center></td><td width="100"><center>-</center></td><td width="100"><center>-</center></td></tr> </table> </td></tr> </table> </td></tr> <tr class="i1i" name="aaa" id="aaa" style="display: none;"><td> <table cellspacing="0" cellpadding="0"> <tr><td> <table cellspacing="0" cellpadding="0"> <td width="100"><center>-</center></td><td width="100"><center>-</center></td><td width="100"><center>-</center></td><td width="100"><center>-</center></td><td width="100"><center>-</center></td></tr> </table> </td></tr> <tr class="i4i" style="display: none;"><td> <table cellspacing="0" cellpadding="0"> <tr><td width="100"><center>-</center></td><td width="100"><center>-</center></td><td width="100"><center>-</center></td><td width="100"><center>-</center></td><td width="100"><center>-</center></td></tr> </table> </td></tr> </table> </td></tr> <tr class="i5i" name="aaa" id="aaa" style="display: none;"><td> <table cellspacing="0" cellpadding="0"> <tr><td> <table cellspacing="0" cellpadding="0"> <td width="100"><center>-</center></td><td width="100"><center>-</center></td><td width="100"><center>-</center></td><td width="100"><center>-</center></td><td width="100"><center>-</center></td></tr> </table> </td></tr> <tr class="i6i" style="display: none;"><td> <table cellspacing="0" cellpadding="0"> <tr><td width="100"><center>-</center></td><td width="100"><center>-</center></td><td width="100"><center>-</center></td><td width="100"><center>-</center></td><td width="100"><center>-</center></td></tr> </table> </td></tr> </table> </td></tr> </table> </td></tr> </TABLE> </center> </body> </html> |
Сообщ.
#18
,
|
|
|
Суть_Зла,
1. пользуй свой ник, который ты уже зарегил ! 2. ето можно было и приатачить еслиб ты выполнил пункт 1. |
Сообщ.
#19
,
|
|
|
offtop: понял, понял, каюсь-каюсь... больше не буду.
PS: то-то я думал, где аттач?? |