Не работает функция на JS

230
10 декабря 2016, 10:34

    var leftdis; 
    leftdis = document.getElementById('left_bar'); 
 
    function leftmn() { 
      if (leftdis.style.display == 'none') { 
        leftdis.style.display = 'block'; 
      } else { 
        leftdis.style.display = 'none'; 
      } 
    }
#left_bar { 
  display: none; 
  position: fixed; 
  width: 200px; 
  height: 100%; 
  background: #ddd; 
} 
#left_triger { 
  height: 24px; 
  width: 50px; 
  position: absolute; 
  top: 13px; 
  left: 5px; 
  display: block; 
}
<a href="" id="left_triger" onclick="leftmn()">Menu</a>

js:

var leftdis;
leftdis = document.getElementById('left_bar');
function leftmn(){
    if (leftdis.style.display == 'none'){
        leftdis.style.display = 'block';
    } else {
        leftdis.style.display = 'none';
    }
}

css:

#left_bar{
    display: none;
    position: fixed;
    width: 200px;
    height: 100%;
    background: #ddd;
}
#left_triger{
    height: 24px;
    width: 50px;
    position: absolute;
    top: 13px;
    left: 5px;
    display: block;
}

Вопрос: Почему не хочет работать функция? Фишка в том, что на другом проекте работает..

Answer 1

Не было блока id="left_bar", после onclick не было return false; выполнялся поиск элемента до его инициализации.

function leftmn() { 
  var leftdis; 
  leftdis = document.getElementById('left_bar'); 
  if (leftdis.style.display == 'none') { 
    leftdis.style.display = 'block'; 
  } else { 
    leftdis.style.display = 'none'; 
  } 
}
#left_bar { 
  display: none; 
  position: fixed; 
  width: 200px; 
  height: 100%; 
  background: #ddd; 
} 
#left_triger { 
  height: 24px; 
  width: 50px; 
  position: absolute; 
  top: 13px; 
  left: 5px; 
  display: block; 
}
<a href="" id="left_triger" onclick="leftmn();return false;">Menu</a> 
<div id="left_bar" style="display:none">bar</a>

READ ALSO
Форма ввода для любых символов

Форма ввода для любых символов

Вопрос: мне нужно сделать поле для ввода текста (типа как в input text), чтобы при этом туда можно было записывать абсолютно любые символы, html-тэги,...

221
Как сделать произвольный placeholder? [закрыто]

Как сделать произвольный placeholder? [закрыто]

Как можно правильно реализовать такой placeholder? Или же это обычный блок с absolute который пропадает при клике?

228
Почему не открывается модульное окно?

Почему не открывается модульное окно?

Я в js не силен только изучаю и ничего не понимаю пока чтомб кто подскажет почему не открывается модульное окно? брал код с этого сайта https://dojotoolkit

247