Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 21.07.2014, 08:21
Аспирант
Отправить личное сообщение для SLameN Посмотреть профиль Найти все сообщения от SLameN
 
Регистрация: 13.08.2012
Сообщений: 70

Убрать display = "none"
Имеется штук 50 таких спойлеров

<div class="spoiler">
<input onclick="showSpoiler(this);" value="Название кнопки" type="button" id="button" />
<div class="inner" style="display: none;">
скрытый текст
</div>
</div>


function showSpoiler(obj) {var inner = obj.parentNode.getElementsByTagName("div")[0]; if (inner.style.display == "none") inner.style.display = ""; else inner.style.display = "none"; }


А теперь вопрос, нужно сделать кнопку, по которой будут открываться все div, т.е. убираться display: none
Ответить с цитированием
  #2 (permalink)  
Старый 21.07.2014, 08:37
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,121

SLameN,
сделать цикл который обходит все div
Ответить с цитированием
  #3 (permalink)  
Старый 21.07.2014, 09:03
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,588

Ультимативно:
<div class="inner" style="display: none;">
скрытый текст
</div>
<input type="button" onclick="
    document.body.appendChild(document.createElement('style')).innerHTML = '.inner{display:block !important}'; 
" value="show all"/>
__________________
29375, 35
Ответить с цитированием
  #4 (permalink)  
Старый 21.07.2014, 09:21
Аспирант
Отправить личное сообщение для SLameN Посмотреть профиль Найти все сообщения от SLameN
 
Регистрация: 13.08.2012
Сообщений: 70

Спасибо, работает, только если я потом начинаю скрывать блоки ненужные, они не скрываются...

Можно ли не добавлять к class="inner" display:block, а в этом диве делать style.display = "". Чтобы потом можно было скрыть или опять открыть
Ответить с цитированием
  #5 (permalink)  
Старый 21.07.2014, 09:36
Профессор
Отправить личное сообщение для Rise Посмотреть профиль Найти все сообщения от Rise
 
Регистрация: 07.11.2013
Сообщений: 458

SLameN,
<div class="spoiler">
    <input onclick="showSpoiler(this)" value="Название кнопки" type="button" name="btn" />
    <div class="inner" style="display: none;">скрытый текст</div>
</div>
<div class="spoiler">
    <input onclick="showSpoiler(this)" value="Название кнопки" type="button" name="btn" />
    <div class="inner" style="display: none;">скрытый текст</div>
</div>

<input onclick="showSpoilerAll()" value="Все" type="button" />

<script>
function showSpoiler(obj) {
    var inner = obj.parentNode.getElementsByTagName("div")[0];
    if (inner.style.display == "none") inner.style.display = "";
    else inner.style.display = "none";
}
function showSpoilerAll() {
    var btns = document.getElementsByName("btn");
    for(var i = 0; i < btns.length; i++) btns[i].onclick();
}
</script>
Ответить с цитированием
  #6 (permalink)  
Старый 21.07.2014, 09:42
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,121

SLameN,

<!DOCTYPE HTML>

<html>

<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css">
    .inner{
      display: none;
    }
   .show .inner{
      display:  block;
    }
  </style>

</head>

<body>
<input type="button" onclick="document.body.classList.toggle('show')" value="show/hide all"/>
<div class="inner" >
скрытый текст
</div>
<div class="inner" >
скрытый текст
</div>
<div class="inner" >
скрытый текст
</div>
</body>

</html>
Ответить с цитированием
  #7 (permalink)  
Старый 21.07.2014, 10:09
Аспирант
Отправить личное сообщение для SLameN Посмотреть профиль Найти все сообщения от SLameN
 
Регистрация: 13.08.2012
Сообщений: 70

Большое спасибо!
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
style.display = "none" bromel1 Элементы интерфейса 7 01.12.2013 23:53
Свойство display: none для строк в таблице под IE8 vatar Internet Explorer 9 29.09.2011 14:47
коррекция кода harek13 jQuery 1 16.12.2010 17:13
CSS-свойсво display в Netscape Сергей Д Элементы интерфейса 10 23.06.2010 20:18
Как убрать выделение в Опере у div, получившего фокус ? spa_2002 Opera, Safari и др. 5 03.09.2009 10:42