Показать сообщение отдельно
  #1 (permalink)  
Старый 08.11.2015, 23:28
Новичок на форуме
Отправить личное сообщение для Пенсионер Посмотреть профиль Найти все сообщения от Пенсионер
 
Регистрация: 08.11.2015
Сообщений: 4

Как сделать видимость от 2х переменных (от 1й - знаю)
Известна видимость от 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 [+]
...

Последний раз редактировалось Пенсионер, 10.11.2015 в 09:23. Причина: вставка [js] форматирующих тэгов и пояснение проблемы
Ответить с цитированием