2015-11-04 2 views
0

Я хочу переключить цвет фона на основе того, имеет ли div атрибут отображения, заданный как block или none.else, если команда не выполняет задачу

До сих пор, что у меня есть

if(document.getElementById("welcome").style.display="block"){ 
     mpage.style.background="rgba(27, 27, 27, .88)"; 

    } 
     else if (document.getElementById("welcome").style.display="none"){ 
      mpage.style.background="rgba(255, 255, 255, .44)"; 
      } 

Единственная причина, почему я сделал это так далеко, потому что я нашел еще один пост на здесь пытаются сделать что-то подобное, и это лучшее, что я мог бы сформировать его. Я использовал синтаксический валидатор для проверки кода, и он вернулся нормально, но ничего не появляется в консоли, но цвет не меняется, когда я запускаю «приветствующий» div для переключения на «display: none;».

+0

Вы установили любой тип ' display' свойство '# welcome' в' CSS' изначально? – Rohit416

+0

Пожалуйста, обновите вопрос с помощью кода CSS. – Rohit416

ответ

0

Изменить

if(document.getElementById("welcome").style.display="block"){ 
               ^

в

if(document.getElementById("welcome").style.display=="block"){ 
                ^^ 

В противном случае, с помощью одного =, вы просто изменить стиль вместо проверки, если дисплей "блок"

0

Изменить

if(document.getElementById("welcome").style.display="block"){ 

Для

if(document.getElementById("welcome").style.display=="block"){ 
0

Вы должны использовать оператор равенства вместо оператора присваивания Для получения дополнительной информации visit this link

1
if(document.getElementById("welcome").style.display=="block"){ 
     mpage.style.background="rgba(27, 27, 27, .88)"; 

    }else if (document.getElementById("welcome").style.display=="none"){ 
     mpage.style.background="rgba(255, 255, 255, .44)"; 
     } 

с использованием одного = присваивает значение на дисплей затем проверяет, если это true и всегда true, но с использованием == проверяет только значение, используя === проверяет значение и тип

UPDATE Вы не можете проверить свойство дисплея, если оно дается с таблицей стилей, это работает только, если стиль написано, вставит Div тег

например:

<div id="welcome" style="display:none;">some content</div> 
+0

ok Я просто попробовал это, и это не сработало. Я даже пытался с ===. – Optiq

+0

@DaMightyOptiq это потому, что ваш стиль не встроен в стиль, вы даете стиль в своем стиле, попробуйте установить отображение inline с тегом –

+0

, так что измените мой css на встроенный, а не на блок? – Optiq

Смежные вопросы