Diferencia entre revisiones de «Widget:Calculator»
De Wikiexplora
| Línea 6: | Línea 6: | ||
<label><input type="checkbox" id="roundtrip" onclick="roundTripToggle()" name="roundtrip"/>Is a round trip</label> | <label><input type="checkbox" id="roundtrip" onclick="roundTripToggle()" name="roundtrip"/>Is a round trip</label> | ||
| − | + | ||
| − | + | ||
| − | + | ||
<br/> | <br/> | ||
<label class="calculator-label">Distancia horizontal en metros:</label> | <label class="calculator-label">Distancia horizontal en metros:</label> | ||
| Línea 18: | Línea 16: | ||
<label id="descenso-label" name="descenso-label" class="calculator-label">Metros de descenso:</label> | <label id="descenso-label" name="descenso-label" class="calculator-label">Metros de descenso:</label> | ||
<input type="text" id="descenso" name="descenso" value="" /> | <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> | <div id="totalTime"></div> | ||
Revisión del 00:04 21 ago 2017
<form action="" id="calculator" onsubmit="return false;">
<fieldset>
<legend>Calculate the time</legend>
<label><input type="checkbox" id="roundtrip" onclick="roundTripToggle()" name="roundtrip"/>Is a round trip</label>
<label class="calculator-label">Distancia horizontal en metros:</label>
<input type="text" id="horizontal" name="horizontal" value="" />
<label id="ascenso-label" name="ascenso-label" class="calculator-label">Metros de ascenso:</label>
<input type="text" id="ascenso" name="ascenso" value="" />
<label id="descenso-label" name="descenso-label" class="calculator-label">Metros de descenso:</label>
<input type="text" id="descenso" name="descenso" value="" />
<label class="calculator-label">Altitud media de toda la ruta:</label>
<input type="text" id="altitude" name="altitude" value="" />
</fieldset>
<input type='submit' id='submit' value='Submit' 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 time: "+total+" hours";
}
//display the result
var divobj = document.getElementById('totalTime');
divobj.style.display='block';
divobj.innerHTML = total;
}
function roundTripToggle(){
var theForm = document.forms["calculator"];
var descensoLabel = document.getElementById('descenso-label');
var descenso = document.getElementById('descenso');
if(theForm.elements["roundtrip"].checked){
descensoLabel.style.display='none';
descenso.style.display='none';
}
else {
descensoLabel.style.display='block';
descenso.style.display='block';
}
} </script>
<style> .calculator-label{
display: block;
} div#totalTime {
font-size: 110%; font-weight: bold;
} </style>
