Я собираюсь с некоторым простым ванильным JS сегодня и зададим вопрос о событии onclick.не может установить свойство onclick of null
Может быть, лучше просто показать код:
function _(x) {
return document.querySelector(x);
}
function toggleSlide(el, maxH) {
var target = _(el);
if(target.style.height == null || target.style.height == maxH+"px") {
target.style.transition = "height 0.3s linear 0s";
target.style.height = "0px";
}else {
target.style.transition = "height 0.3s linear 0s";
target.style.height = maxH+"px";
}
}
Все работает, если я добавить событие OnClick для кнопки, как:
<button id="menu-btn" onclick="toggleSlide('#menu', 280)">Toggle</button>
Но я получаю ошибку,
"connot set property" onclick "of null"
Когда я пытаюсь так:
_('#menu-btn').onclick = function() {
toggleSlide('#menu', 280)
}
Как я могу получить доступ к своей функции переключения без добавления OnClick в HTML?
Я думаю, что если вы отлаживаете это с помощью firebug или чего-то подобного, он, вероятно, даст вам ответ. Ваш js работает onload? – Huangism
Вы не должны иметь эту ошибку, если ваш скрипт включен непосредственно перед закрывающим тегом body. – Tyblitz