Скрывать открытые спойлеры при открытии нового спойлера
У Меня есть скрипт спойлера. Вот такой:
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, время: 02:29. |