Не работает JS файл
Начнём с того, что это мой второй в жизни JS-файл для второй в жизни пробной верстки. Использую Brackets. Ничего не работает и пишет такие 3 ошибки:
- ESLint: ERROR: parsing error: the keyword 'const' is reserved.
- JSLint: Expected an identifier and instead saw 'const'.
- Stopping. (8% scanned).
При этом в браузере в консоли ничего не появляется, как бы усердно я не кликал на кнопку.
Вот код JS:
//classes
const headerBtn = document.querySelector ('.header__btn');
const darkBackground = document.querySelector('.dark__background');
//functions
function darkBackgroundShow() {
darkBackground.classList.add ('dark__background__show');
}
//other
headerBtn.addEventListener('click', function() {
darkBackground.classList.add ('dark__background__show');
}); //не работает
headerBtn.addEventListener('click', function() {
console.log ('click');
});//не работает
window.addEventListener('scroll', function() {
let scrollPos = window.scrollY;
console.log (scrollPos);
});//не работает
headerBtn.addEventListener('click', function darkBackgroundShow());//не работает
Может я его не правильно подключил к html? Делал я это таким образом перед закрывающимся тегом body <script src="app.js"></script>
Я просто не понимаю, что от меня хотят, что мне сделать?
Ответы (1 шт):
Начну с редактора кода: 1 марта 2021 года Adobe объявила о том, что с 1 сентября 2021 года прекращает поддержку Brackets. И предложила пользователям либо использовать исходные файлы с GitHub, либо установить Visual Studio Code.
т.к. ты HTML не предоставил, можно только гадать что там, сделал свою реализацию.
Код: последняя функция headerBtn.addEventListener('click', function darkBackgroundShow()); все ломает, т.к. вызываешь функцию darkBackgroundShow() внутри слушателя события, а не в теле функции. Кинул на google диск https://drive.google.com/drive/folders/1PdlpVeYsB3WWC7LYIYw-wjFj6HMTHn__?usp=sharing там все работает, это довольно обширная тема, вот хорошая книга https://eloquentjavascript.net/index.html с 13 главы полистай. Не страшно что она на англ. просто переведи страницу в браузере если англ. не знаешь.