Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Bug] Nada acontece...

Mesmo no exercício anterior usando o alert para mostrar o nome do jogo nada acontecia. Acabei copiando o código todo no final do vídeo e nada funciona, segue o código:

function alterarStatus(id) {
    let gameClicado = document.getElementById(`game-${id}`);
    let imagem = gameClicado.querySelector('.dashboard__item__img');
    let botao = gameClicado.querySelector('.dashboard__item__button');
  

    if (imagem.classList.contains('dashboard__item__img--rented')) {
        imagem.classList.remove('dashboard__item__img--rented');
        botao.classList.remove('dashboard__item__button--return');
        botao.textContent = 'Alugar';
    } else {
        imagem.classList.add('dashboard__item__img--rented');
        botao.classList.add('dashboard__item__button--return');
        botao.textContent = 'Devolver';
    }
}    

Segue imagem do console após clicar nos 3 botões: Insira aqui a descrição dessa imagem para ajudar na acessibilidade

A imagem não mostra, mas não mudou nada nos botões. A tela acaba subindo pra centralizar da maneira que foi aberta.

1 resposta
solução!

Olá, Cristian.

Tudo bem?

Eu testei esse seu código JavaScript com o código HTML do projeto "AluGames" do início do curso Projetos do curso, e funcionou certinho, no caso ele teve o comportamento esperado, que era deixar a imagem com opacidade.

Verifica o seu código HTML e veja se não tem nenhum erro nas classes CSS ou na chamada do onclick, outra coisa é colocar um console.log de teste ou um alert de teste para ter certeza que o Javascript está lincado no HTML:

No fim do <body> antes da tag de fechamento precisa ter o <script src="js/app.js"></script>:

<script src="js/app.js"></script>
</body>
</html>

Espero ter ajudado. Qualquer dúvida manda aqui de novo. Bons estudos.