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, время: 13:18. |