Помогите с javascript

J
На сайте с 08.06.2006
Offline
844
415

Есть такой код

<script type="text/javascript">function show(id) {document.getElementById(id).style.display = document.getElementById(id).style.display == 'none' ? 'block' : 'none';} </script>

Если его применить к дивам, то он при нажатии на ссылку открывает див блок с контентом

Если нажать на другую, то и другой блок открывает

Но и первый открытый

А как сделать, чтобы открытым был только тот по которому последним нажали?

speed-core
На сайте с 30.03.2014
Offline
33
#1

Узнаем какой ID у нашего элемента. Для дальнейших действий.

$(this).attr('id')

если надо взять последующий элемент после нажатого то вот:

$(this).next('#id')

Больше информации предоставьте, что к чему у Вас там.

HOST-PROTECTION (/ru/forum/848747), профессиональный web хостинг, гарантия стабильности, защита от DDoS.
siv1987
На сайте с 02.04.2009
Offline
427
#2


var curr;
function show(id){
if(curr && curr.id != id){
curr.style.display = 'none';
}

curr = document.getElementById(id);
curr.style.display = curr.style.display == 'none' ? 'block' : 'none';
}
J
На сайте с 08.06.2006
Offline
844
#3

siv1987, ооооооооооо! гений!

спасибо большое!

J
На сайте с 08.06.2006
Offline
844
#4
siv1987:

var curr;
function show(id){
if(curr && curr.id != id){
curr.style.display = 'none';
}

curr = document.getElementById(id);
curr.style.display = curr.style.display == 'none' ? 'block' : 'none';
}

а что в этой функции подправить, чтобы при ее срабатывании скрывался блок с id=tops ?

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий