1 2function atualizarGrafico(parcelaMensal, rendaMinima, amortizacaoFormatada, taxaJurosMensal) { 3 const somaTotal = parcelaMensal + rendaMinima + amortizacaoFormatada + taxaJurosMensal; 4 const parcelaMensalPercent = (parcelaMensal / somaTotal) * 100; 5 const rendaMinimaPercent = (rendaMinima / somaTotal) * 100; 6 const amortizacaoFormatadaPercent = (amortizacaoFormatada / somaTotal) * 100; 7 const taxaJurosMensalPercent = (taxaJurosMensal / somaTotal) * 100; 8 9 const cores = [ 10 `var(--cor-1) 0%`, 11 `var(--cor-1) ${parcelaMensalPercent}%`, 12 `var(--cor-2) ${parcelaMensalPercent}%`, 13 `var(--cor-2) ${parcelaMensalPercent + rendaMinimaPercent}%`, 14 `var(--cor-3) ${parcelaMensalPercent + rendaMinimaPercent}%`, 15 `var(--cor-3) ${parcelaMensalPercent + rendaMinimaPercent + amortizacaoFormatadaPercent}%`, 16 `var(--cor-4) ${parcelaMensalPercent + rendaMinimaPercent + amortizacaoFormatadaPercent}%`, 17 `var(--cor-4) 100%` 18 ]; 19 // Atualiza o estilo do gráfico de pizza com as cores calculadas 20 document.querySelector('.grafico-de-pizza').style.background = `conic-gradient(${cores.join(', ')})`; 21} 22 23function simulaFinanciamento() { 24 25 const getEntrada = jQuery("#range-entrada").val(); 26 const getPreco = parseFloat(jQuery("#range-preco").val()); 27 const getJuros = jQuery("#range-juros").val(); 28 const getFinancimento = jQuery("#range-financiamento").val(); 29 30 // variaveis de controle para filtro da URL 31 let faixa_valor_min = getPreco - (getPreco * 0.10); 32 let faixa_valor_max = getPreco + (getPreco * 0.10); 33 var url = "imoveis-venda?filter[categoria_catid]=-40&filter[faixa_valor_venda]=" + faixa_valor_min + "-" + faixa_valor_max + "&filter[faixa_valor_venda][min]=" + faixa_valor_min + "&filter[faixa_valor_venda][max]=" + faixa_valor_max; 34 35 // Entradas iniciais 36 const entrada_porcento = getEntrada / 100; 37 const taxa_juros_mensal = (getJuros / 100) / 12; 38 const preco_imovel = getPreco; 39 const financiamento = getFinancimento * 12; 40 41 // Valores finais para a função 42 var entrada = (entrada_porcento * preco_imovel); 43 var valor_emprestimo = (preco_imovel - entrada); 44 var juros_mensal_real = (valor_emprestimo * taxa_juros_mensal); 45 var amortizacao = (valor_emprestimo / financiamento); 46 var parcela_mensal = (amortizacao + juros_mensal_real); 47 var renda_minima = (parcela_mensal / 0.35); 48 49 var parcelaMensal = parcela_mensal.toFixed(2); 50 var rendaMinima = (renda_minima).toFixed(2); 51 var amortizacaoFormatada = (amortizacao).toFixed(2); 52 var taxaJurosMensal = (juros_mensal_real).toFixed(2); 53 54 55 jQuery("#juros_real").text('Juros' + " R$ " + "(" + formatarNumero(taxaJurosMensal) + " por mês)"); 56 jQuery("#amortizacao").text('Amortização' + " R$ " + "(" + formatarNumero(amortizacaoFormatada) + " por mês)"); 57 jQuery("#renda").text('Renda mÃnima' + " R$ " + "(" + formatarNumero(rendaMinima) + ")"); 58 jQuery("#parcela").text("R$ " + formatarNumero(parcelaMensal) + ' /mês'); 59 jQuery("#entrada-valor").text("R$ " + formatarNumero(entrada)); 60 jQuery("#simulatorURL").attr('href', url); 61 62 // inclui entrada de texto dinamicas 63 jQuery("#entrada-percentual").text(getEntrada + '%'); 64 jQuery("#juros").text(getJuros + '%'); 65 jQuery("#financiamento").text(getFinancimento + ' anos'); 66 jQuery("#preco-imovel").text("R$ " + formatarNumero(getPreco)); 67 68 atualizarGrafico(parseFloat(parcelaMensal), parseFloat(rendaMinima), parseFloat(amortizacaoFormatada), parseFloat(taxaJurosMensal)); 69}; 70 71function formatarNumero(numero) { 72 let numeroString = numero.toString(); 73 74 if (numero >= 1000) { 75 // Adicionar separadores de milhares 76 return numeroString.replace(/\B(?=(\d{3})+(?!\d))/g, '.'); 77 } else { 78 // Se o número for menor que 1000, retornar como está 79 return numeroString; 80 } 81}; 82 83function setValue(element) { 84 let value = element.value; 85 let id = element.id; 86 let classH1 = element.className; 87 88 switch (id) { 89 case 'range-preco': 90 // Atualiza o valor do h1 com o valor do input formatado 91 jQuery("#" + classH1).text("R$ " + formatarNumero(value)); 92 93 let juros = jQuery("#range-entrada").val(); 94 let entrada = (value * juros) / 100; 95 jQuery("#entrada-valor").text("R$ " + formatarNumero(entrada)); 96 break; 97 case 'range-juros': 98 jQuery("#juros").text(formatarNumero(value) + "%"); 99 break; 100 case 'range-financiamento': 101 jQuery("#financiamento").text(formatarNumero(value) + " anos"); 102 break; 103 } 104 105 jQuery("#" + id).attr("value", value); 106 simulaFinanciamento(); 107}; 108 109function setEntrada(element) { 110 let percentual = jQuery(element).val(); 111 let precoImovel = jQuery("#range-preco").val(); 112 let entrada = (precoImovel * percentual) / 100; 113 114 jQuery("#entrada-percentual").text(percentual + "%"); 115 jQuery("#entrada-valor").text("R$ " + formatarNumero(entrada)); 116 simulaFinanciamento(); 117}; 118 119 120jQuery(document).ready(function(){ 121 simulaFinanciamento(); 122});
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.