Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Поиск и перебор объектов JavaScript
|
|||
|---|---|---|---|
|
#18+
Есть навигация вида <h4 id="mn_1059" onClick="menu(1059)" style="cursor:hand">menu item1</h4> <div id="mn1059" class="hidden"> <a href="1">menu item1_1</a> <a href="1">menu item1_1</a> <a href="1">menu item1_1</a> <a href="1">menu item1_1</a> <a href="1">menu item1_1</a> </div> <h4 id="mn_1060" onClick="menu(1060)" style="cursor:hand">menu item1</h4> <div id="mn1060" class="hidden"> <a href="1">menu item1_1</a> <a href="1">menu item1_1</a> <a href="1">menu item1_1</a> <a href="1">menu item1_1</a> <a href="1">menu item1_1</a> </div> <h4 id="mn_1061" onClick="menu(1061)" style="cursor:hand">menu item1</h4> <div id="mn1061" class="hidden"> <a href="1">menu item1_1</a> <a href="1">menu item1_1</a> <a href="1">menu item1_1</a> <a href="1">menu item1_1</a> <a href="1">menu item1_1</a> </div> function menuz(x) { document.all['mn'+x].className = document.all['mn'+x].className=='hidden'?'visible':'hidden'; document.all['mn_'+x].style.color = '#111111' if (document.all['mn'+x].className == 'hidden') {document.all['mn_'+x].style.color = '#111111'} if (document.all['mn'+x].className == 'visible') {document.all['mn_'+x].style.color = '#999999'} } ID типа "mn1061" генериться движком. Т.е. зарание диапазон чисел неизвестен... Хочется доработать функцию, что бы она не только открывала текуший элемаент (делала visible), но закрывала предидущий открытый элемент (делала hidden), если таковой имеется. К сожалению текущее знание JavaScripta не помогает :-) подскажите как это можно реализовать или дайте ссылку на похожий пример. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2006, 13:44 |
|
||
|
Поиск и перебор объектов JavaScript
|
|||
|---|---|---|---|
|
#18+
Аноним Хочется доработать функцию, что бы она не только открывала текуший элемаент (делала visible), но закрывала предидущий открытый элемент (делала hidden), если таковой имеется. К сожалению текущее знание JavaScripta не помогает :-) подскажите как это можно реализовать или дайте ссылку на похожий пример. Сохраняй в обработчике onclick выбранный элемент в переменную (можно его ID, а можно и сам объект). При следующем клике (по другому элементу, например) в это переменной будет ссылка на предыдущий объект, его и скрывай. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2006, 14:05 |
|
||
|
Поиск и перебор объектов JavaScript
|
|||
|---|---|---|---|
|
#18+
просто храни открытый элемент. + неплохо бы иметь отдельные ф-ии для открытия закрытия. примерно так. var opened_menu = null; function on_menu_click(x) { var is_open = document.getElementById('mn'+x).className=='visible'; if ( opened_menu ) hide_menu(opened_menu); if ( is_open ) hide_menu( x ) else { open_menu( x ) opened_menu = x; } } function open_menu( x ) { document.getElementById('mn'+x).className = 'visible'; document.getElementById('mn_'+x).style.color = '#999999'; // это немного старнно, почему не включить это в сам стиль visible? } function hide_menu( x ) { document.getElementById('mn'+x).className = 'hidden'; document.getElementById('mn_'+x).style.color = '#111111'; } document.all[] я заменил на document.getElementById().это работает во всех браузерах. если хочется более короткую запись, сделай синоним как в ASP.NET AJAX function $get( x ) { return document.getElementById(x); }... << RSDN@Home 1.1.4 stable SR1 rev. 568>> ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2006, 14:15 |
|
||
|
|

start [/forum/topic.php?fid=18&tid=1388146]: |
0ms |
get settings: |
7ms |
get forum list: |
19ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
56ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
55ms |
get tp. blocked users: |
2ms |
| others: | 225ms |
| total: | 386ms |

| 0 / 0 |
