Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: для новичков > ссылки и блоки


Автор: vitalina 9.8.2008, 14:01
Есть много линков, по нажатию на которые открывается блок - это сделать несложно. Но я никак не могу понять как открыв один ДИВ закрыть другой?

Автор: bars80080 9.8.2008, 14:31
чтоб закрыть - надо получить их идентификаторы. скажем все дивы в одном блоке, тогда можно обратится к этому блоку из одного из дивов

onclick="open_div('div2')" // id дива

Код

//получаем его идентификатор:
function open_div(x) {
ind = document.getElementById(x);
//обращаемся к родительскому блоку
rbl = ind.parentNode;
//обращаемся к вложенным дивам по имени тэга
divs = rbl.getElementsByTagName('rbl');
//прогоняем цикл вложенных дивов
for(i = 0; i < divs.length; i++) {
//закрываем дивы
divs[i].style.display = 'none;';
}
//открываем нужный
ind.style.display = 'block;';
}


Автор: vitalina 9.8.2008, 14:45
Цитата(bars80080 @ 9.8.2008,  14:31)
чтоб закрыть - надо получить их идентификаторы. скажем все дивы в одном блоке, тогда можно обратится к этому блоку из одного из дивов

onclick="open_div('div2')" // id дива

Код

//получаем его идентификатор:
function open_div(x) {
ind = document.getElementById(x);
//обращаемся к родительскому блоку
rbl = ind.parentNode;
//обращаемся к вложенным дивам по имени тэга
divs = rbl.getElementsByTagName('rbl');
//прогоняем цикл вложенных дивов
for(i = 0; i < divs.length; i++) {
//закрываем дивы
divs[i].style.display = 'none;';
}
//открываем нужный
ind.style.display = 'block;';
}

А что такое х?

Автор: bars80080 9.8.2008, 16:59
x - это в функции

когда ты её вызываешь: onclick="open_div('div2')", ты передаёшь в неё id нужного тебе дива

Автор: vitalina 9.8.2008, 23:26
U menja v FF ne rabotaet.

Автор: Michael.de 10.8.2008, 00:15
...
Код
...
divs[i].style.display = 'none;';
}
//открываем нужный
ind.style.display = 'block;';
}

маленькая "очепятка": вместо 'none;'; и 'block;'; надо 'none'; и 'block'; smile

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)