Oii, Victor.
Obrigada por compartilhar seu código.
Tem algumas coisinhas diferentes no seu código para o do curso:
Redefinição da variável totalgeral
: Dentro da função adicionar
, você declarou novamente a variável totalgeral
com let
. Isso cria uma variável local que só existe dentro da função, em vez de usar a variável global que você definiu no início. Por causa disso, o valor acumulado não é mantido, e o total exibido sempre será calculado como se fosse a primeira vez.
Sobrescrita do conteúdo do carrinho: O innerHTML
do elemento carrinho
é redefinido toda vez que a função é chamada. Isso faz com que o carrinho substitua o produto anterior em vez de adicionar o novo produto mantendo os itens já listados.
Aqui o código corrigido:
let totalgeral = 0
function adicionar() {
let produto = document.getElementById('produto').value;
let nomeproduto = produto.split('-')[0];
let valorUnitario = parseFloat(produto.split('R$')[1]);
let quantidade = document.getElementById('quantidade').value;
let price = quantidade * valorUnitario;
let carrinho = document.getElementById('lista-produtos');
carrinho.innerHTML = carrinho.innerHTML + `
<section class="carrinho_produtos" id="lista-produtos">
<section class="carrinho_produtos_produto">
<span class="texto-azul">${quantidade}x</span> ${nomeproduto} <span class="texto-azul">R$${price}</span>
</section>
</section>
`;
totalgeral = totalgeral + price;
let campoTotal = document.getElementById('valor-total');
campoTotal.textContent = `R$ ${totalgeral}`
}
function limpar() {
}
Lembra sempre de salvar as modificações para que tudo funcione bem.
Mais pra frente a função de limpar será mais trabalhada.
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓