Cambios

Widget:Calculator

3608 bytes añadidos, 20:00 30 oct 2020
sin resumen de edición
test<form action="" id="calculator" onsubmit="return false;"> <div> <div class="calculator-boxes"> <fieldset> <legend>Calculadora de dopihoras</legend> <label><input type="checkbox" id="roundtrip" onclick="roundTripToggle()" name="roundtrip"/>Es ida y vuelta</label> <br/> <label id="horizontal-label" class="calculator-label">Distancia horizontal en metros:</label> <input type="text" id="horizontal" name="horizontal" value="" /> <br/> <label id="ascenso-label" name="ascenso-label" class="calculator-label">Metros de ascenso:</label> <input type="text" id="ascenso" name="ascenso" value="" /> <br/> <label id="descenso-label" name="descenso-label" class="calculator-label">Metros de descenso:</label> <input type="text" id="descenso" name="descenso" value="" /> <br/> <label class="calculator-label">Altitud media de toda la ruta:</label> <input type="text" id="altitude" name="altitude" value="" /> <div id="totalTime"></div> </fieldset> </div> </div> <input type='submit' id='submit' value='Calcular' onclick="calculateTotal()" /> </div> </form><script>function calculateTotal(){ var theForm = document.forms["calculator"]; var altitude = parseInt(theForm.elements["altitude"].value); var horizontal = parseInt(theForm.elements["horizontal"].value); var ascenso = parseInt(theForm.elements["ascenso"].value);   if(theForm.elements["roundtrip"].checked){ var descenso = ascenso; } else { var descenso = parseInt(theForm.elements["descenso"].value); } var total = (horizontal * 0.75 + ascenso * 7.2 + descenso * 2.4) * (4 * Math.pow(10, -12) * Math.pow(altitude , 3) - 9 * Math.pow(10 , -9) * Math.pow(altitude , 2) + 4 * Math.pow(10, -5) * altitude + 0.9999) * (1/3600); total = Math.round(total * 100) / 100; if (isNaN(total) || total === ''|| total === 0){ total = 'Something is not right - please check the values'; } else { total = "Total: "+total+" dopihoras"; }  //display the result var divobj = document.getElementById('totalTime'); divobj.style.display='block'; divobj.innerHTML = total; } function roundTripToggle(){ var theForm = document.forms["calculator"]; var ascensoLabel = document.getElementById('ascenso-label'); var descensoLabel = document.getElementById('descenso-label'); var descenso = document.getElementById('descenso'); var horizontalLabel = document.getElementById('horizontal-label'); if(theForm.elements["roundtrip"].checked){ descensoLabel.style.display='none'; descenso.style.display='none'; ascensoLabel.innerHTML = 'Metros de ascenso solo ida + metros descenso solo ida:'; horizontalLabel.innerHTML = 'Distancia horizontal en metros (ida + vuelta, que es lo mismo que ida x 2):'; } else { descensoLabel.style.display='block'; descenso.style.display='block'; ascensoLabel.innerHTML = 'Metros de ascenso:'; horizontalLabel.innerHTML = 'Distancia horizontal en metros:'; } }</script> <style>.calculator-label{ display: block;}div#totalTime { font-size: 110%; font-weight: bold;}</style>