Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Название темы: Общие вопросы по коду
Показать сообщение отдельно

Аватара для Coutty

Кот Ти


Сообщения: 7318
Благодарности: 1204

Профиль | Отправить PM | Цитировать


Смотрите пример ниже.
HTML код: Выделить весь код
<html><head> <title>Ня</title> <script> function hopen(id) { a = document.getElementById(id); if (a.style.display == "none") a.style.display = "inline"; else a.style.display = "none"; return true; } </script> <style> li {list-style-type:none; // спрятать маркеры списка margin-left:20px} // сделать отступ слева для каждого нового уровня </style> </head><body> <ul id="top"> <li><a href=# onclick="hopen('n1')">Журналы</a> <ul id="n1" style="display:none"> <li><a href=# onclick="hopen('n1_1')">Системный администратор</a> <ul id="n1_1" style="display:none"> <li>1999</li> <li>2000</li> <li>2001</li> </ul> </li> <li><a href=# onclick="hopen('n1_2')">Повар-сантехник</a> <ul id="n1_2" style="display:none"> <li>1999</li> <li>2000</li> <li>2001</li> </ul> </li> <li><a href=# onclick="hopen('n1_3')">Мурзилка</a> <ul id="n1_3" style="display:none"> <li>1999</li> <li>2000</li> <li>2001</li> </ul> </li> </ul> </li> <li><a href=# onclick="hopen('n2')">Книги</a> <ul id="n2" style="display:none"> <li>Пушкин</li> <li>Достоевский</li> <li>Гоголь</li> </ul> </li> </ul> </body> </html>

Основные пункты:
- вложенные пункты имеют идентификатор (id="n1_1")
- при клике по ссылке (событие onclick) вызывается функция hopen(), описанная в начале страницы. В неё передаётся имя того списка, который надо отобразить (также hopen('n1_1')). Я использую и двойные, и одинарные кавычки - пусть вас это в заблуждение не вводит. Просто мне так удобно. По xhtml-стандарту, кажется, надо двойные ставить, но этот файл всё равно не пройдёт валидацию.
- функция работает следующим образом:
--- получает имя элемента, к которому надо обратиться
--- обращается к этому элементу (для краткости я его в переменную а сохраняю)
--- проверяет стиль элемента. Если он скрыт - отображает, если отображается - скрывает.
--- return в конце функции - на всякий случай, чтобы браузер вдруг по своей воле не перешёл по ссылке.
Также обратите внимание на описанный стиль. Если его убрать - будет выглядеть иначе)

Красиво попробуйте оформить сами
Это сообщение посчитали полезным следующие участники:

Отправлено: 19:49, 03-06-2009 | #122

Название темы: Общие вопросы по коду