1
resposta

[Bug] Dificuldade

Olá, boa noite. Estou estudando há um tempo programação, porém estou encontrando grande dificuldade nesse curso para a resoluções dos desafios. Sinto que o conteúdo não é ensinado, mas somente 'jogado' a nós, sem um tipo de aprofundamento e ensinamento sobre como pensar em chegar nesta solução. Além de sentir que a solução é completamente diferente do que se foi ensinado.

Outro problema que estou enfrentando é em respeito ao meu código, estou resolvendo junto com os vídeos para maior entendimento, porém minha estrutura JS e HTML não funciona. Estou compartilhando aqui com vocês, se puderem me ajudar a encontrar o erro/problema.. hahah.

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>AluGames</title>
    <link rel="stylesheet" href="css/main.css">
</head>

<body class="body">
    <main class="container main">
        <img src="img/logo.svg" alt="Logo AluGames">
        <section class="divisor">
            <div class="divisor__line"></div>
            <img src="img/fade_bar.svg" alt="Visual bar" class="divisor__bar">
            <div class="divisor__line"></div>
        </section>
        <h1 class="page-title">Aluguel de <span class="page-title__emphasis">boardgames</span></h1>
        <section class="dashboard">
            <ul class="dashboard__items">
                <li class="dashboard__items__item" id="game-1">
                    <div class="dashboard__item__img">
                        <img src="img/monopoly.png" alt="Capa jogo Monopoly">
                    </div>
                    <p class="dashboard__item__name">Monopoly</p>
                    <a onclick="alterarStatus(1)" href="#" class="dashboard__item__button">Alugar</a>
                </li>
                <li class="dashboard__items__item" id="game-2">
                    <div class="dashboard__item__img">
                        <img src="img/ticket_to_ride.png" alt="Capa jogo Ticket to Ride">
                    </div>
                    <p class="dashboard__item__name">Ticket to Ride</p>
                    <a onclick="alterarStatus(2)" href="#" class="dashboard__item__button">Alugar</a>
                </li>
                <li class="dashboard__items__item" id="game-3">
                    <div class="dashboard__item__img dashboard__item__img--rented">
                        <img src="img/takenoko.png" alt="Capa jogo Takenoko">
                    </div>
                    <p class="dashboard__item__name">Takenoko</p>
                    <a onclick="alterarStatus(3)" href="#" class="dashboard__item__button dashboard__item__button--return">Devolver</a>
                </li>
            </ul>
        </section>
        <img src="img/hachuras.svg" alt="Visual hachuras" class="hachuras">
    </main>

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

</html>
function alterarStatus(id) {
  let gameRented = document.getElementById(`game-${id}`);
  let image = gameRented.querySelector('.dashboard__item__img');
  let button = gameRented.querySelector('.dashboard__item__button');
  let gameName = gameRented.querySelector('.dashboard__item__name');

  alert(gameName.textContent);
}
1 resposta

Bom dia, Maria! Tudo bem?

Compreendo sua frustração, e é completamente normal sentir-se assim quando estamos aprendendo algo novo, especialmente programação. Vamos tentar resolver isso juntos!

Pelo que você descreveu, parece que você está no caminho certo ao tentar entender o código por meio dos vídeos e exemplos. Vamos dar uma olhada no seu código HTML e JavaScript para ver o que pode estar acontecendo.

Análise do Código

  1. HTML e JavaScript:

    • Seu HTML parece estar bem estruturado. Você tem os elementos necessários e está chamando a função alterarStatus() corretamente nos botões.
    • No JavaScript, você está tentando capturar o elemento correto e já está usando alert() para verificar o nome do jogo clicado, o que é uma ótima maneira de testar se o evento de clique está funcionando.
  2. Verificação do Funcionamento:

    • Certifique-se de que o arquivo app.js está corretamente vinculado ao seu HTML. Você mencionou que está chamando o script no final do corpo (<body>), o que é uma boa prática. Verifique se o caminho do arquivo está correto.
    • No seu código JavaScript, você está usando document.getElementById() e querySelector() corretamente para capturar os elementos necessários.
  3. Possíveis Problemas:

    • Verifique se o console do navegador está mostrando algum erro. Às vezes, pequenos erros de sintaxe podem impedir que o JavaScript funcione corretamente.
    • Certifique-se de que todos os arquivos de imagem e CSS estão no caminho correto, pois isso pode afetar a visualização, mas não o funcionamento do JavaScript em si.

Próximos Passos

  • Debugging: Abra o console do navegador (F12 no Chrome ou Firefox) e veja se há alguma mensagem de erro. Isso pode dar uma pista sobre o que está acontecendo.
  • Teste Incremental: Continue testando pequenas partes do seu código para ver onde ele pode estar falhando. Você já começou bem com o alert().
  • Revisão do Curso: Se você sentir que o curso está "jogando" o conteúdo, talvez seja útil revisar algumas aulas ou procurar material complementar que explique a lógica de programação de uma forma que funcione melhor para você.

Espero ter ajudado e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.