powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Поиск и перебор объектов JavaScript
4 сообщений из 4, страница 1 из 1
Поиск и перебор объектов JavaScript
    #34086901
Аноним
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть навигация вида


<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 не помогает :-)
подскажите как это можно реализовать или дайте ссылку на похожий пример.
...
Рейтинг: 0 / 0
Поиск и перебор объектов JavaScript
    #34087016
Фотография SkyLight
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Аноним
Хочется доработать функцию, что бы она не только открывала текуший элемаент (делала visible),
но закрывала предидущий открытый элемент (делала hidden), если таковой имеется.

К сожалению текущее знание JavaScripta не помогает :-)
подскажите как это можно реализовать или дайте ссылку на похожий пример.
Сохраняй в обработчике onclick выбранный элемент в переменную (можно его ID, а можно и сам объект). При следующем клике (по другому элементу, например) в это переменной будет ссылка на предыдущий объект, его и скрывай.
...
Рейтинг: 0 / 0
Поиск и перебор объектов JavaScript
    #34087068
mogadanez
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
просто храни открытый элемент.
+ неплохо бы иметь отдельные ф-ии для открытия закрытия.

примерно так.


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>>
...
Рейтинг: 0 / 0
Поиск и перебор объектов JavaScript
    #34087114
Аноним
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо все.
тема закрыта :-)
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Поиск и перебор объектов JavaScript
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]