2016-02-04 3 views
1

Вот HTML:Ошибка при принятии Div Visible в функции

<div class="div1" id ="div1" onclick="onStepClicked()" style ="text-align:center">Step 1</div> 

Вот Сценарий:

function onStepClicked() { 
     var elem = document.getElementById('div2'); 
     if (Visible = true) { 
      elem.style.visibility = 'hidden'; 
      Visible = false; 
     } 
     if (Visible = false) { 
      elem.style.visibility = 'visible'; 
      Visible = true; 
     } 
    } 

Когда я нажимаю Div в первый раз, Div скрыт который верно. Когда я снова нажму его, я больше не увижу. Вероятно, это простая ошибка, которую я пропускаю.

ответ

2
function onStepClicked() { 
     var elem = document.getElementById('div2'); 
     if (Visible === true) { 
      elem.style.visibility = 'hidden'; 
      Visible = false; 
     } else if (Visible === false) { 
      elem.style.visibility = 'visible'; 
      Visible = true; 
     } 
    } 

вы присваиваете значение для Visible делая один =. вам нужно проверить равенство с помощью === или ==

Кроме того, если вам не нужно Visible где-то еще, вы можете просто сделать:

function onStepClicked() { 
     var elem = document.getElementById('div2'); 
     if (elem.style.visibility === 'visible') { 
      elem.style.visibility = 'hidden'; 
     } 
     else { 
      elem.style.visibility = 'visible'; 
     } 
    } 
1
function onStepClicked() { 
    var elem = document.getElementById('div2'); 
    if (elem.style.visibility == 'visible') 
     elem.style.visibility = 'hidden'; 
    else 
     elem.style.visibility = 'visible'; 
} 

Ваша ошибка установки Видимый равна истинным в вашей первой если утверждение. Разница составляет Visible = true против Visible == true. Первый пример устанавливает значение для Visible (= является оператором присваивания), второй сравнивает значение с Visible (== является оператором сравнения).

Для этого небольшого фрагмента кода, вам не нужен дополнительный Visible переменного, но если вам это нужно и в других частях вашего кода, вы можете добавить его обратно.

0

Я вижу несколько вещей : - вы ищете div2, в то время как ваш div имеет id div1 - оператор if должен быть == или === not =

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