Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   JS не видит элемент (https://javascript.ru/forum/misc/75640-js-ne-vidit-ehlement.html)

ITMEGAMASTER 26.10.2018 12:18

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 файле и у него все работает. В чем дело? :(

Nexus 26.10.2018 12:33

Цитата:

Сообщение от ITMEGAMASTER
В чем дело?

Скорее всего в месте подключения скрипта.
Вы подключаете файл на страницу до того, как на ней появилась переменная menu.

Писать все в глобальную область видимости не лучшее решение.

рони 26.10.2018 12:36

ITMEGAMASTER,
http://javascript.ru/forum/css-html/...rez-style.html

ITMEGAMASTER 26.10.2018 13:00

И куда же нужно писать? menu это ведь элемент

рони 26.10.2018 13:10

Цитата:

Сообщение от ITMEGAMASTER
menu это ведь элемент

где код?

ITMEGAMASTER 26.10.2018 13:23

да

Nexus 26.10.2018 13:24

ITMEGAMASTER, рони вопросом "где код?" просил вас его (код) продемонстрировать :)

ITMEGAMASTER 26.10.2018 13:29

<!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">&#9776;</a>
            </div>
        </nav>
    </header>
    
    
    
    
    
    <script src="js/script.js">
    </script>
</body>
</html>

Nexus 26.10.2018 13:38

В js "menu" на document.getElementById('menu') заменять не пробовали?

SuperZen 26.10.2018 13:40

https://developer.mozilla.org/ru/doc...ment/classList


Часовой пояс GMT +3, время: 17:12.