Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Menu não abre!

Boa noite, segue meus códigos, já tentei de tudo mas o botão hambúrguer quando clicado não abre o menu.

<!DOCTYPE html>
<html lang="pt-br">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>HZC| Home</title>
    <link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;600;700&display=swap">
<link rel="stylesheet" href="assets/css/reset.css">
<link rel="stylesheet" href="assets/css/estilo.css">
</head>
<body>
    <header class="cabecalho">
        <button class="cabecalho_menu" aria-label="Menu"><i></i></button>
        <img src="assets/img/logo.svg" alt="Logotipo da HZC" class="cabecalho_logo">
        <button class="cabecalho_notificacao" aria-label="Notificacao"><i></i></button>
    </header>   
        <nav class="menu-lateral">
            <img src="assets/img/logo.svg" alt="Logo da HZC" class="menu-lateral__logo">
            <a href="#" class="menu-lateral__link menu-lateral__link--inicio menu-lateral__link--ativo">Início</a>
            <a href="#" class="menu-lateral__link menu-lateral__link--videos">Vídeos</a>
            <a href="#" class="menu-lateral__link menu-lateral__link--picos">Picos</a>
            <a href="#" class="menu-lateral__link menu-lateral__link--integrantes">Integrantes</a>
            <a href="#" class="menu-lateral__link menu-lateral__link--camisas">Camisas</a>
            <a href="#" class="menu-lateral__link menu-lateral__link--pinturas">Pinturas</a>
        </nav>
        <script src="index.js"></script>
</body>
</html>
@font-face {
    font-family:'icones';
    src: url(../font/icones.ttf);}

body {background-color: #1D232A; font-family: "open sans", sans-serif,'icones'; color: #ffffff;}
.cabecalho {display: flex; justify-content: space-between; align-items: center; 
    background-color:#15191C; padding: 8px 16px; box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.16);}
.cabecalho_menu i::before {content: "\e904"; font-size: 24px;}
.cabecalho_notificacao i::before {content: "\e906"; font-size: 24px;}
.cabecalho_logo {width: 40px;}

.menu-lateral {
    position: absolute;
    left: -100vw;
    display: flex;
    flex-direction: column;
    width: 75vw;
    height: 100vh;
    background-color: #15191C;
    transition: left .25s;
    z-index: 99;
}

.menu-lateral--ativo {
    left: 0;
    transition: left .25s;
}

.menu-lateral__logo {width: 118px; align-self: center; padding: 16px;}
.menu-lateral__link {height: 64px; color: #95999C; padding-left: 64px; display: flex; align-items: center;}
.menu-lateral__link--ativo{color: #ffffff; padding-left: 56px; border-left: 8px solid #ffffff;}
.menu-lateral__link::before{content:"\e904"; width: 24px; height: 24px; font-size: 24px; position: absolute; left: 24px;}


.menu-lateral__link--inicio::before{content: "\e902";}
.menu-lateral__link--videos::before {content: "\e90e";}
.menu-lateral__link--picos::before {content: "\e909";}
.menu-lateral__link--integrantes::before {content: "\e903";}
.menu-lateral__link--camisas::before {content: "\e900";}
.menu-lateral__link--pinturas::before {content: "\e90a";}``

const botaoMenu = document.querySelector('.cabecalho__menu')
const menuLateral = document.querySelector('.menu-lateral')

botaoMenu.addEventListener('click', () => {
    menuLateral.classList.toggle('menu-lateral--ativo')
})
2 respostas
solução!

Bom dia Eduardo, tudo bom?

Verificando seu código, o erro no nome da classe utilizada...

no HTML <button class="cabecalho_menu" aria-label="Menu"><i></i></button>

e no seu Javascript esta const botaoMenu = document.querySelector('.cabecalho__menu').

Então acrescentei um _ na classe do seu html e funcionou...

Sucesso e bons estudos.

po, era isso mesmo, valeu!!!!