JS не видит элемент
Ввожу код js в js файл
menu.onclick = function myFunction() { var x = document.getElementById("myTopnav"); if (x.className === "topnav") { x.className += " responsive"; } else{ x.className = "topnav"; } } И он выдает 2 ошибки: 'menu' is not defined 'document' is not defined Попробовал вставить этот же код в html файл и все сработало. Делал по видеоуроку, на видео автор пишет все также в js файле и у него все работает. В чем дело? :( |
Цитата:
Вы подключаете файл на страницу до того, как на ней появилась переменная menu. Писать все в глобальную область видимости не лучшее решение. |
ITMEGAMASTER,
http://javascript.ru/forum/css-html/...rez-style.html |
И куда же нужно писать? menu это ведь элемент
|
Цитата:
|
да
|
ITMEGAMASTER, рони вопросом "где код?" просил вас его (код) продемонстрировать :)
|
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Творчество для всех</title> <link rel="stylesheet" href="css/style.css"> <link href="https://fonts.googleapis.com/css?family=Raleway" rel="stylesheet"> </head> <body> <header> <div class="logo"> <a href="index.html"><img class="grafic_logo" src="images/logo.png" alt=""></a> </div> <nav> <div class="topnav" id="myTopnav"> <a href="index.html">HOME</a> <a href="projects.html">PROJECTS</a> <a href="blog.html">BLOG</a> <a href="contact.html">CONTACT</a> <a href="about.html">ABOUT</a> <a href="services.html">SERVICES</a> <a href="location.html">LOCATION</a> <a id="menu" href="#" class="icon">☰</a> </div> </nav> </header> <script src="js/script.js"> </script> </body> </html> |
В js "menu" на document.getElementById('menu') заменять не пробовали?
|
|
Часовой пояс GMT +3, время: 17:12. |