Скрывать открытые спойлеры при открытии нового спойлера
У Меня есть скрипт спойлера. Вот такой:
onclick="d=document.getElementById('hided-first').style; if(d.display=='block'){d.display='none';}else{d.display='block';}" Работает вот в такой конструкции: <div id="first" onclick="d=document.getElementById('hided-first').style; if(d.display=='block'){d.display='none';}else{d.display='block';}"> <h2>1.</h2> <p><span>Связаться с офисом компании AutoBusinessClub Japan Co.,Ltd.</span></p> <div id="hided-first" class="hided"> <ul> <li>сообщить информацию о вашей компании, контактные данные.</li> <li>сообщить информацию о виде и количестве экспортируемого груза (автотехники)</li> </ul></div> </p></div> Посмотреть можно тут и ещё вот тут. В общем-то, что хочу. Хочу добавить туда такую функцию, чтобы, когда кликаешь на спойлер, скрывалось содержимое другого открытого спойлера — чтобы не загораживали друг-друга, ведь у Меня они весьма нестандартно расположены, друг над другом. JS знаю поверхностно (можно сказать, почти и не знаю), так что очень прошу помощи. |
ну дак отслеживай на открытость соседние. также как ослеживаеш один
|
Я не отслеживаю (: Я вообще мало что понимаю в том коде, что использую.
Мне тут друг помог, вот такая байда получилась: /** * Show or hide hided blocks */ function toggleHided(element){ if(list===undefined){var list = document.getElementsByTagName('div');} var element = document.getElementById(element); if(element.style.display=='block'){element.style.display='none';}else{element.style.display='block';} //hide all hided for(i = 0; i < list.length; i++) { if(element.id==list[i].id){ continue; } //dont forget edit class name (: if(list[i].className=="hided") { list[i].style.display='none'; } } } |
Grawl, из недавно обсуждаемых...
http://javascript.ru/forum/dom-windo...a-drugojj.html Цитата:
|
Часовой пояс GMT +3, время: 13:49. |