1
resposta

PROJETO - Faça como eu fiz: finalizando a compra e limpando o carrinho.

let totalGeral = 0;
document.getElementById('lista-produtos').innerHTML = '';
document.getElementById('valor-total').textContent = 'R$ 0'

function adicionar () {
// RECUPERAR VALORES NOME DO PRODUTO, QUANTIDADE E VALOR
let produto = document.getElementById('produto').value;
let nomeProduto = produto.split('-')[0];
let valorUnitario = produto.split('R$')[1];
let quantidade = document.getElementById('quantidade').value;
//CALCULAR O PREÇO, O NOSSO SUBTOTAL
let preco = quantidade * valorUnitario;
let carrinho = document.getElementById('lista-produtos');
//ADICIONAR NO CARRINHO
carrinho.innerHTML = carrinho.innerHTML + `<section class="carrinho__produtos__produto">
          <span class="texto-azul">${quantidade}x</span> ${nomeProduto} <span class="texto-azul">R$${preco}</span>
        </section>`;
//ATUALIZAR O VALOR TOTAL
totalGeral = totalGeral + preco;
let campoTotal = document.getElementById('valor-total');
campoTotal.textContent = `R$ ${totalGeral}`; 
document.getElementById('quantidade').value = 0;



}

function limpar() {
    let totalGeral = 0;
    document.getElementById('lista-produtos').innerHTML = '';
    document.getElementById('valor-total').textContent = 'R$ 0'

}
1 resposta

Olá, Luciano! Como vai?

O seu código está quase lá, mas há um pequeno detalhe que pode estar causando problemas na função limpar().

Na sua função limpar(), você está declarando uma nova variável totalGeral dentro da função, o que cria uma variável local que não afeta a variável global totalGeral que você está usando para manter o total do carrinho. Para corrigir isso, basta remover a declaração let na função limpar(), assim:

function limpar() {
    totalGeral = 0; // Remova o 'let' para usar a variável global
    document.getElementById('lista-produtos').innerHTML = '';
    document.getElementById('valor-total').textContent = 'R$ 0';
}

Com essa alteração, a função limpar() irá redefinir corretamente o valor total do carrinho para zero e limpar a lista de produtos exibida.

Espero ter ajudado e bons estudos!

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