Спойлер на javascript

G
На сайте с 24.04.2017
Offline
6
545

Здравствуйте Господа специалисты!

Требуется помощь,есть код

<script type="text/javascript">

function sh(num) {

obj = document.getElementById(num);

if( obj.style.display == "none" ) { obj.style.display = "block"; } else {

obj.style.display = "none"; }

}

</script>

<style>

a.open-content {

background: #BE0000 none repeat scroll 0 0;

border-radius: 4px;

box-shadow: 0 0 2px rgba(0, 0, 0, 1);

color: rgb(255, 255, 255) !important;

display: block;

font-weight: bold;

margin: 0.5em 0.9em;

padding: 0.2em;

position: relative;

text-align: center;

text-shadow: 2px 2px 2px #000;

width: 8em;

}

a.open-content:hover {

background: #CCCCCC none repeat scroll 0 0;

box-shadow: 0 0 2px rgba(0, 0, 0, 1);

color: #BE0000 !important;

font-weight: bold;

text-shadow: 0 0 0 #fff;

}

</style><a class="open-content" href="javascript:sh('h')">Заголовок1</a>

<div id="h" style="display: none;">

здесь открывается скрытый текст</div>

<a class="open-content" href="javascript:sh('h1')">Заголовок2</a>

<div id="h1" style="display: none;">здесь открывается скрытый текст

</div>

Как сделать чтобы при открытии второго окна Спойлера первое закрывалось .

S
На сайте с 30.09.2016
Offline
469
#1

Если придерживаться Вашего стиля :)

то как-то так

<script type="text/javascript">

function sh(num,mun) {
obj = document.getElementById(num);
jbo = document.getElementById(mun);
if( obj.style.display == "none" ) {
obj.style.display = "block";
if( jbo.style.display == "block" )jbo.style.display = "none";
} else {
obj.style.display = "none"; }
}
</script>

<a class="open-content" href="javascript:sh('h','h1')">Заголовок1</a>
<div id="h" style="display: none;">
здесь открывается скрытый текст</div>
<a class="open-content" href="javascript:sh('h1','h')">Заголовок2</a>
<div id="h1" style="display: none;">здесь открывается скрытый текст
</div>
Отпилю лишнее, прикручу нужное, выправлю кривое. Вытравлю вредителей.

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