Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Поиск и перебор объектов JavaScript / 4 сообщений из 4, страница 1 из 1
27.10.2006, 13:44
    #34086901
Аноним
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск и перебор объектов JavaScript
Есть навигация вида


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

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

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


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


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