1
resposta

[Dúvida] [Dúvida] De acordo com a aula 07 CSS: Dispondo elementos com Flexbord e Grid| Meu menu quando clico no botão após adicionar o java script não funciona (Segue abaixo todos os códigos)

<!-- nav.menu-lateral>img.menu-lateral__logo+a[hef="#"].menu-lateral__link*6 -->
<nav class="menu-lateral">
    <img src="assets/img/logo.svg" alt="logotipo da HZC" class="menu-lateral__logo">
    <a href="#" class="menu-lateral__link menu-lateral__link--inicio menu-lateral__link--ativo">Inícios</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="skate.js"></script>

@font-face { font-family: 'icones'; src: url(../font/icones.ttf); }

body { background-color: #1D232A; font-family: 'Open Sans', 'icones', sans-serif; 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 { display: flex; flex-direction: column; background-color: #15191C; width: 75vw; height: 100vh;

position: absolute;
left: -100vw; /*pra esconder*/
transition: .25s;

}

.menu-lateral__link--ativo { left: 0; /quando ativo volta pra posição inicial/ transition: .25s; }

.menu-lateral__logo { width: 118px; align-self: center; padding: 16px; }

.menu-lateral__link { height: 64px; color: #95999C; text-decoration: none; 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: "\e900"; 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 menu = document.querySelector('.menu-lateral')

botaoMenu.addEventListener('click', () => { menu.classList.toggle('menu-lateral--ativo') })

1 resposta

Bom dia.

Você poderia colocar o print do seu código mostrando suas pastas, se estiver no vscode, pode ser simplesmente um erro no caminho do arquivo javascript.

Faça o debug da seguinte forma: Dentro da função que ativa seu menu, coloque um console log console.log("Menu clicado."). Abra o console do navegador, click no menu e veja se a mensagem aparece, se aparecer seu arquivo está ok.

Geralmente usamos <script src="./skate.js"></script> um './' quando esse arquivo Javascript está na mesma pasta do arquivo HTML.