Сменить блоки информации по клику

241
16 декабря 2017, 05:55

Как скрыть блок информации при клике на другой блок, который должен отобразиться в этом окне? Блоков несколько и нет желания прописывать, например, для блока1 все названия других, чтобы при клике на блок1 скрылся из виду любой из остальных блоков, который на данный момент на экране. пример привожу на части кода из четырех блоков.

function showInfUKMain() { 
  $('#UK').toggle(); 
}; 
 
function showInfUKSCO() { 
  $('#SCO').toggle(); 
}; 
 
function showInfUKSCOLand() {; 
  $('#SCOLand').toggle(); 
}; 
 
function showInfUKWls() { 
  $('#Wls').toggle(); 
};
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
<div id="main"> 
  <li><img id="icon" src="img/plus.gif" onclick="imgsrcUK(this)"> 
    <span id=UKMain onclick="showInfUKMain(this)" style="cursor: pointer">Великобритания</span> 
    <ul> 
      <div id="UKOne"> 
        <li><img id="icon" src="img/plus.gif" onclick="imgsrcSCO(this)"> 
          <span id=UKSCO onclick="showInfUKSCO(this)" style="cursor: pointer">Шотландия</span> 
          <ul> 
            <div id="UKTwoFirst"> 
              <li> 
                <span id=UKSCOLand onclick="showInfUKSCOLand(this)" style="cursor: pointer">Пейзажи</span></li> 
            </div> 
          </ul> 
        </li> 
        <div id="UKTwo"> 
          <li> 
            <span id=UKWls onclick="showInfUKWls(this)" style="cursor: pointer">Уэльс</span></li> 
        </div> 
      </div> 
    </ul> 
  </li> 
</div>

Answer 1

Прятать все элементы с тегом tohide а после показывать блок который вас интересует.

function HideAll() { 
  var ellements = document.getElementsByClassName("tohide"); 
  for(var i=0;i<ellements.length;i++) { 
     ellements[i].style.display="none"; 
  } 
}
<div class="tohide" style="background-color:orange;"> 
   div 1 aaa 
</div> 
<div class="tohide" style="background-color:olive;"> 
   div 2 bbb 
</div> 
<div id="id1" class="tohide class2" style="background-color:blue;"> 
   div 3 ccc 
</div> 
<br/> 
<a href="#" onclick="HideAll()">hide all</a>

Читая комментарии, подумал, что возможно вы не знаете, что у каждого элемента может быть один id и множество классов, и наличае id не мешает быть другим классам. <div id="id1" class="tohide class2".... Я это отразил в примере.

READ ALSO
&lt;div&gt;&lt;/div&gt; и &lt;div/&gt; в чем разница?

<div></div> и <div/> в чем разница?

Есть два примераПочему в первом примере показует 3 блока, в то время как во втором примере показует один?

356
Css для хлебных крошек :last-child:after

Css для хлебных крошек :last-child:after

Нужно, чтобы в последнем элементе в хлебных крошках не было сепаратораНе пойму почему не работает

275
Что дает наличие transform: translateZ(0) scale(1, 1) в body

Что дает наличие transform: translateZ(0) scale(1, 1) в body

Не первый раз встречаю правило transform: translateZ(0) scale(1, 1), какое применяется к тегу <body>

337
Нужна помощь с pop up

Нужна помощь с pop up

Подскажите, пожалуйста, как сделать так чтобы при наведении открывался попап и при этом можно было навести на содержимое попапа, сейчас он закрывается

262