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

[Dúvida] Adicionando e removendo classes

Meus botoões não estão removendo a classe "active", alguém pode me ajudar a encontrar o erro?

const html = document.querySelector('html');
const focoBt = document.querySelector('.app__card-button--foco');
const curtoBt = document.querySelector('.app__card-button--curto');
const longoBt = document.querySelector ('.app__card-button--longo');
const banner = document.querySelector('.app__image');
const titulo = document.querySelector('.app__title');
const botoes = document.querySelectorAll('app__card-button');


focoBt.addEventListener('click', () => {
    alterarContexto('foco');
    focoBt.classList.add('active');
})

curtoBt.addEventListener('click', () => {
    alterarContexto('descanso-curto');
    curtoBt.classList.add('active');
})
longoBt.addEventListener('click', () => {
    alterarContexto('descanso-longo');
    longoBt.classList.add('active');
})

function alterarContexto(contexto) {
    botoes.forEach(function (contexto){
        contexto.classList.remove('active')
    }) 

    html.setAttribute('data-contexto', contexto);
    banner.setAttribute('src', `/imagens/${contexto}.png`);
    
    switch (contexto) {
        case 'foco':
            titulo.innerHTML = 
            `Otimize sua produtividade,<br>
            <strong class="app__title-strong">mergulhe no que importa.</strong
            break;

        case 'descanso-curto':
            titulo.innerHTML =
            `Que tal dar uma respirada? 
            <strong class="app__title-strong">Faça uma pausa curta!</strong>`;
            break;

        case 'descanso-longo':
            titulo.innerHTML =
            `Hora de voltar à superfície.
            <strong class="app__title-strong">Faça uma pausa longa.</strong>`;
            break;
    
        default:
            break;
    }
}
1 resposta
solução!

Boa noite, Victoria! Tudo bem? Verifiquei o seu código e ele esta quase correto, você apenas esqueceu de adiconar um ponto antes de chamar as classes na constante botoes.

const botoes = document.querySelectorAll('bemaquiapp__card-button').

Corrija esse erro e veja se seu codigo funciona. Além disso, notei que na interpolação de strings voce esqueceu de fechar com o acento de crase. Acredito que corrigindo esses errinhos seu codigo funcionará perfeitamente. Espero ter ajudado!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software