Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Помогите разобраться (https://javascript.ru/forum/events/38932-pomogite-razobratsya.html)

aleksandr8i 08.06.2013 20:57

Помогите разобраться
 
Есть такой js и следующий html код
var show;
function hidetxt(type){
 param=document.getElementById(type);
 if(param.style.display == "none") {
 if(show) show.style.display = "none";
 param.style.display = "block";
 show = param;
 }else param.style.display = "none"
}

Если посмотреть внимательно на html код то можно увидеть, что первый class "info" имеет display:block, а все остальные classЫ"info" имеют display:none. При открытие страницы первый class "info" видно, но при нажатий на другую ссылку он не закрывается автоматически. Как сделать что бы он закрывался при нажатий на другую ссылку автоматически.

<div class="description">
<a onclick="hidetxt('div1'); return false;" href="#" rel="nofollow">Информация</a>
<div class="info" style="display:block;" id="div1">
Много много много текста 1
</div>
</div>
<div>
<a onclick="hidetxt('div2'); return false;" href="#" rel="nofollow">Оплата и доставка</a>
<div class="info" style="display:none;" id="div2">
Много много много текста 2
</div>
</div>
<div>
<a onclick="hidetxt('div3'); return false;" href="#" rel="nofollow">Оставить отзыв</a>
<div class="info" style="display:none;" id="div3">
Много много много текста 3
</div>
</div>

Hekumok 08.06.2013 23:19

var show = document.getElementById("div1") ;

aleksandr8i 08.06.2013 23:36

ничего не изменилось - все работает как и работало

Hekumok 09.06.2013 11:12

<div class="description">
<a onclick="hidetxt('div1'); return false;" href="#" rel="nofollow">Информация</a>
<div class="info" style="display:block;" id="div1">
Много много много текста 1
</div>
</div>
<div>
<a onclick="hidetxt('div2'); return false;" href="#" rel="nofollow">Оплата и доставка</a>
<div class="info" style="display:none;" id="div2">
Много много много текста 2
</div>
</div>
<div>
<a onclick="hidetxt('div3'); return false;" href="#" rel="nofollow">Оставить отзыв</a>
<div class="info" style="display:none;" id="div3">
Много много много текста 3
</div>
</div>
<script>
var show = document.getElementById("div1") ;
function hidetxt(type) {
 var param = document.getElementById(type) ;
  if(getComputedStyle(param).display == "none") {
    show.style.display = "none" ;
    param.style.display = "block" ;
    show = param ;
  } else
    param.style.display = "none" ;
}
</script>


Часовой пояс GMT +3, время: 17:35.