Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

202
Visualizações
¿Cómo obtener el valor de un control deslizante de rango para que pueda usarse en un cálculo y mostrar un resultado?

Soy un completo principiante tratando de construir una calculadora de energía solar (¿por qué me hice esto a mí mismo?) He intentado todo pero todavía estoy atascado. La idea es que los usuarios usen un control deslizante de rango para agregar su factura mensual de electricidad a una calculadora. Luego, quiero usar lo que ingresaron en un cálculo para convertir su factura mensual a kwh, pero el registro de la consola muestra "indefinido". Tengo algunas constantes que funcionan con el valor ingresado por el usuario. El cálculo funciona si se usa sin la entrada del usuario para la factura mensual de electricidad: una constante (lo probé) pero no puedo entender cómo usar la entrada del usuario en el cálculo. Aquí hay un codepen de lo que hice. La función que obtuve allí es probablemente un desastre total, pero no sé cómo solucionarlo. Por favor, ayuda, mi cerebro se ha vuelto papilla y esto es para mañana. Empecé hace como un mes con esto de tener que reiniciar todo el tiempo porque hay mucho que necesita entrar aquí y no sé lo que estoy haciendo.

 <h2>Solar Power Calculator</h2> Monthly Electricity Bill: <input type="range" min="100" max="10000" value="0" step="1" onchange="getSliderValues(this.value)" style="width:400px;"> <span id="monthlyBillval">0%</span> <h2>Monthly Bill to KWH <span id="monthlyBill"></span></h2> //initial variables var phases = 1; var systemCost = 247765.00; var sizeOfPanelArray = 8.19; var batteryBankCapacity = 22.20; var payBackPeriod = 5.3; var monthlyEstimatedSavings = 3864.00 // var amortData = []; // Constants var singlePhaseBaseCost = 41000; var threePhaseBaseCost = 69000; var panelCost = 2639; var fiveKwSinglePhaseInverter = 17371; var eightKwSinglePhaseInverter = 28344; var twelveKwThreePhaseInverter = 43783; var batteryCost = 29160; var panelPeakPower = 455; var avgDailySunHrs = 5.33; var avgDaysPerMonth = 30.5; var batteryCapacity = 7.4; var maxCeilingDiscountedBracketInRands = 1440; var lowBracketKwh = 600; var discountedTarrif = 2.400395; var higherTarrif = 3.312575; function getSliderValues (billSlider){ var monthlyBill = document.getElementById('monthlyBill'); var monthlyBillval = document.getElementById('monthlyBillval'); monthlyBillval.innerHTML = billSlider;} var monthlyBillToKwhConversion; if (monthlyBillval < maxCeilingDiscountedBracketInRands) { monthlyBillToKwhConversion = monthlyBillval / higherTarrif } else if (monthlyBillval > maxCeilingDiscountedBracketInRands) { monthlyBillToKwhConversion = Math.round (((monthlyBillval - maxCeilingDiscountedBracketInRands)/ higherTarrif) + (maxCeilingDiscountedBracketInRands/discountedTarrif)) } console.log("monthly bill to kWh conversion:" + monthlyBillToKwhConversion);
about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

Está intentando acceder a la variable monthlyBillval desde fuera del alcance de la función donde está definida. Eso no es posible en Javascript ya que solo se puede acceder a cada variable dentro del alcance de la función que la definió.

Por lo tanto, todas sus verificaciones if arrojan false , por lo tanto, monthlyBillToKwhConversion permanece sin definir

Considere devolver algo de su función si necesita fuera de ella.

Además, en Javascript moderno se considera una mejor práctica evitar la declaración var porque podría generar resultados inesperados y estropear el alcance global. Debe usar let y const para definir sus variables.

about 4 years ago · Juan Pablo Isaza Relatório

0

Su código tiene algunos problemas de alcance, también:

 var monthlyBillval = document.getElementById('monthlyBillval');

mensualBillval es un elemento no valor, no puede hacer esto:

 monthlyBillToKwhConversion = monthlyBillval / higherTarrif

puedes ver el código de trabajo en codeopen

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda