Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Проверить div на none (https://javascript.ru/forum/dom-window/40449-proverit-div-na-none.html)

Alex_dark74 06.08.2013 09:00

Проверить div на none
 
Необходимо проверить div на none rf правильно сделать запрос!
Пробовал так
function tester(id){
    if (style.display == none){
      document.getElementById(id).style.display = 'block';
    }
    else {
      document.getElementById(id).style.display='none';   
    }
  }

не работает!

ksa 06.08.2013 09:04

Цитата:

Сообщение от Alex_dark74
не работает!

Потому как в style того ДИВа нет упоминания про display...

<div id='test'></div>
<script type="text/javascript">
alert('>'+document.getElementById('test').style.display+'<');
</script>

ksa 06.08.2013 09:10

Цитата:

Сообщение от Alex_dark74 (Сообщение 266037)
Пробовал так
function tester(id){
    if (style.display == none){
      document.getElementById(id).style.display = 'block';
    }
    else {
      document.getElementById(id).style.display='none';   
    }
  }

Пробуй так...

function tester(id){
    if (style.display == 'block' || style.display == ''){
      document.getElementById(id).style.display = 'none';
    }
    else {
      document.getElementById(id).style.display='block';   
    }
  }

skrudjmakdak 06.08.2013 09:16

а мне вот такой формат больше нравится:
function tester(id)
	{
	document.getElementById(id).style.display = (style.display == 'block' || style.display == '') ? 'none' : 'block';
	}

skrudjmakdak 06.08.2013 09:17

а еще лучше так:
function tester(id)
	{
	document.getElementById(id).style.display = (style.display == 'none') ? 'block' : 'none';
	}

Alex_dark74 06.08.2013 09:32

Выдает
style is not defined !!!

Более полный код

<script type="text/javascript">
  function show_hide(id){
    document.getElementById(id).style.display='none'; // Скроет слой
  }
function tester(id){
    if (style.display == 'none'){
      document.getElementById(id).style.display = 'block';
    }
    else {
      document.getElementById(id).style.display='none';   
    }
  }
</script>

<h1>ЧаВо!? Часто задаваемые вопросы</h1>
<p style="text-align: left;">
  <button class="button_dis" onClick="tester('dis01')">Что значи цветовая модель RGB или CMYK</button>
  <div style="display: none;" id='dis01' class="div_dis">
    <p class="spisoc1">По цветовым моделям лучше всего почитать полную информацию <a class="mail" href="http://ru.wikipedia.org/wiki/RGB">RGB</a> <a class="mail" href="http://ru.wikipedia.org/wiki/CMYK">CMYK</a>. Если коротко, то...  </p>
      <p class="spisoc2">RGB - R (красный) G (зеленый) B (синий) - это цвета которыми светит 1 пиксель монитора с определенной насыщенностью и при совмещении трех цветов на мониторе мы видим цветное изображение!</p>
      <p class="spisoc2">CMYK - C (голубой) M (пурпурный) Y (желтый) K (черный) из этих цветов состоит изображение на печатной продукции. И любая цветная продукция печатается именно составление этих цветов.</p>
  </div>
</p>

skrudjmakdak 06.08.2013 09:36

ну дак style определить наверное надо:
function tester(id)
	{
	var obj = document.getElementById(id);
	obj.style.display = (obj.style.display == 'none') ? 'block' : 'none';
	}

ksa 06.08.2013 09:57

Цитата:

Сообщение от Alex_dark74
Выдает
style is not defined !

При таком подходе это очевидно! :D

ksa 06.08.2013 09:58

Цитата:

Сообщение от skrudjmakdak
а еще лучше так:

Есть много способов как ободрать кошку... (с) :yes:

Alex_dark74 06.08.2013 09:59

Цитата:

Сообщение от skrudjmakdak (Сообщение 266050)
ну дак style определить наверное надо:
function tester(id)
	{
	var obj = document.getElementById(id);
	obj.style.display = (obj.style.display == 'none') ? 'block' : 'none';
	}

Да точно!
Спасибо!


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