Известна видимость от 1й переменной.
Цветом выделен
скрипт CLOP - закрыть/открыть пункт/подробность
В <body>...</body>
одна из множества таблиц, видимостью которой управляет переменная _00, через "одноимённый" img - img_00
Под подробным текстом - img[-] сворачивание пункта (требуется в конце огромного текста, т.к. управляющий img[+] уже вне экрана)
-------------------------
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>Название</title>
*!*
<style type="text/css">
.sub{ visibility: hidden;
display: none; }
</style>
<script language=javascript>
function CLOP(subName) { // закрыть/открыть подробность subName
if (eval(subName).style.visibility == "visible") { // если она видима
eval(subName).style.visibility = "hidden"; // закрыть
eval(subName).style.display = "none" // сжать опустевшее место
eval("img"+subName).src="closed.gif" } // поменять картинку
else {
eval(subName).style.visibility = "visible"; // открыть
eval(subName).style.display = "list-item" // раздвинуть текст
eval("img"+subName).src="opened.gif" }} // поменять картинку
</script>
*/!*
</head>
<body>
№ текста.(<img src ="closed.gif" id="img_00" onclick ="CLOP('_00')">
Краткий текст.
<table border="1" width="100%" class ="sub" id="_00">
<tr>
<td>Подробный текст.
<br><img src ="opened.gif" onclick ="CLOP('_00')">
</td>
</tr>
</table>
</body>
</html>
-------------------------
Требуется управлять видимостью от 2х видов переменных (скажем, от _00 и s_00 = № пункта, № уровня вложенности),
а лучше от двумерного массива s[№ пункта, № уровня вложенности]
-------------------------
Стандартно дерево управляется/выглядит
Оглавление - много пунктов:
1.[+]
2.[+]
3.[+]
...
Каждый пункт раскрывается/закрывается (например, 1й):
1. [-]
1.1 [+]
1.2 [+]
1.3 [+]
2.[+]
3.[+]
...
А те соответственно, дальше (например, 1й и 1.2й)
1. [-]
1.1 [+]
1.2 [-]
1.2.1 [+]
1.2.2 [+]
1.2.3 [+]
1.3 [+]
2.[+]
3.[+]
...
Это стандартное управление и оно прекрасно работает.
-------------------------
Требуется добавив переменную № уровня,
одним кликом открывать/закрывать все пункты верхних уровней вложений/оглавлений
Например,
Вид ДО нажатия на второй уровень:
1й уровень оглавления.[-]
2й уровень оглавления.[+]
3й уровень оглавления.[+]
1.[+]
2.[+]
3.[+]
...
Вид ПОСЛЕ нажатия на второй уровень:
1й уровень оглавления.[-]
2й уровень оглавления.[-]
3й уровень оглавления.[+]
1. [-]
1.1 [+]
1.2 [+]
1.3 [+]
2.[-]
2.1 [+]
2.2 [+]
2.3 [+]
3.[-]
3.1 [+]
3.2 [+]
3.3 [+]
...