Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   HTML/DHTML/CSS/JS/VB (http://www.flasher.ru/forum/forumdisplay.php?f=66)
-   -   Показать скрыть все остальные? (http://www.flasher.ru/forum/showthread.php?t=131685)

forward 26.10.2009 13:42

Показать скрыть все остальные?
 
Доброго времени суток!

Вот скрипт в котором скрывать и отображать каждый див можно отдельно:
Код:

<script language="javascript">
function _getElementById(id){
  var item = null;

  if (document.getElementById){
    item = document.getElementById(id);
  } else if (document.all){
    item = document.all[id];
  } else if (document.layers){
    item = document.layers[id];
  }

  return item;
}

function DoDiv(id) {
  var item = _getElementById(id);

  if (!item){
  } else if (item.style){
    if (item.style.display == 'none'){
        item.style.display = '';
    } else {
        item.style.display = 'none';
      }
  } else {
      item.visibility = 'show';
  }
}

function ShowOrHide(d1, d2) {
  if (d1 != ''){
      DoDiv(d1);
  }

  if (d2 != ''){
      DoDiv(d2);
  }
}
</script>
<a href="javascript:ShowOrHide('conf', 'conf-open')" id="conf-open" onclick="javascript:ShowOrHide('conf-close')"><img src="/images/play_radio.jpg" border="none" /></a><a href="javascript:ShowOrHide('conf', 'conf-close')" id="conf-close" style="display: none;" onclick="javascript:ShowOrHide('conf-open')"><img src="/images/stop_radio.jpg" border="none" /></a><div id='conf' style='display: none;'>
123123123123123
    </div><a href="javascript:ShowOrHide('conf2', 'conf2-open')" id="conf2-open" onclick="javascript:ShowOrHide('conf2-close')"><img src="/images/play_radio.jpg" border="none" /></a><a href="javascript:ShowOrHide('conf2', 'conf2-close')" id="conf2-close" style="display: none;" onclick="javascript:ShowOrHide('conf2-open')"><img src="/images/stop_radio.jpg" border="none" /></a><div id='conf2' style='display: none;'>
123123123123123123132
        </div>
    <a href="javascript:ShowOrHide('conf3', 'conf3-open')" id="conf3-open" onclick="javascript:ShowOrHide('conf3-close')"><img src="/images/play_radio.jpg" border="none" /></a><a href="javascript:ShowOrHide('conf3', 'conf3-close')" id="conf3-close" style="display: none;" onclick="javascript:ShowOrHide('conf3-open')"><img src="/images/stop_radio.jpg" border="none" /></a><div id='conf3' style='display: none;'>
123123123123123123132
        </div>

А я вот пытаюсь чтоб при отображении одного дива скрывались все остальные, как такое сделать? :)

Добавлено через 3 часа 36 минут
Вот нашел пример как надо только тут указанное количество дивов а если их будет 30 или 50?

Код:

<script type="text/javascript">
function hide()
{
  for(i=0; i<hide.arguments.length; i++)
  {
    document.getElementById(hide.arguments[i]).style.display = 'none';
  }
}

function show(id)
{
  hide('d1', 'd2', 'd3');
  document.getElementById(id).style.display = 'block';
}
</script>

<div id="d1" style='display: none;'>1</div>
<div id="d2" style='display: none;'>2</div>
<div id="d3" style='display: none;'>3</div>

<input type="button" onclick="show('d1')" value="1">
<input type="button" onclick="show('d2')" value="2">
<input type="button" onclick="show('d3')" value="3">


KidsKilla 27.10.2009 15:28

Для этого я использую jQuery + классы:
Код:

$('.tab').hide();
$('#d1').show();

Код:

<div id="d1" class="tab">1</div>
<div id="d2" class="tab">2</div>
<div id="d3" class="tab">3</div>



Часовой пояс GMT +4, время: 12:38.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.