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

Em vez de subtrair continua somando.

Boa tarde pessoal. Estou realizando o curso de manipulção do DOM e resolvi criar um código parecido com o do robotron porém bem mais simples para praticar. Quando eu cheguei nesse ponto do código, fui relaizar os testes nos buttons para ver se estavam funcionando, porém notei que o de soma está funcionando, mas o de subtrair em vez de tirar está somando também.Gostaria de saber se alguém poderia me ajudar a desvendar onde está o erro, pois já quebrei a cabeça mas não consegui enxergar onde está a falha.

Código HTMLCódigo JS

2 respostas
solução!

Olá! Tudo bem? O problema é que do jeito que está a condicional do if nunca será verdadeira, porque o objeto que está sendo para a função cálculo é um evento, que contém as informações desse evento, inclusive o target, que é o elemento HTML alvo do evento. Esse objeto evento contém várias informações, e uma delas que podemos usar no seu caso é a textContent, o código ficaria assim:

controleUnico.forEach((elemento) => {
    elemento.addEventListener("click", (evento) => {
        calculo(evento.target.textContent);
    });
});

function calculo(operador) {
    if (operador === "-") {
        valor.value = parseInt(valor.value) - 1;
    } else {
        valor.value = parseInt(valor.value) + 1;
    }
}

Nesse caso estamos verificando de acordo com o conteúdo de texto do botão, que pode ser - ou +. Espero ter ajudado!

Boa noite Breno. Exato, realizei conforme você indicou e agora está funcionando perfeitamente. Muito obrigado!!!