Result:
Enter the values above to calculate your descent rate.
function calculateDescentRate() {
var initialAltitude = parseFloat(document.getElementById("initialAltitude").value);
var finalAltitude = parseFloat(document.getElementById("finalAltitude").value);
var timeMinutes = parseFloat(document.getElementById("timeMinutes").value);
var resultDiv = document.getElementById("result");
if (isNaN(initialAltitude) || isNaN(finalAltitude) || isNaN(timeMinutes)) {
resultDiv.innerHTML = "Please enter valid numbers for all fields.";
return;
}
if (timeMinutes = initialAltitude) {
resultDiv.innerHTML = "Final altitude should be lower than initial altitude for a descent.";
return;
}
var altitudeChange = initialAltitude – finalAltitude; // Feet
var descentRateFPM = altitudeChange / timeMinutes; // Feet per minute
resultDiv.innerHTML = "Total Altitude Change:
" + altitudeChange.toFixed(2) + " feet" +
"Time to Descend:
" + timeMinutes.toFixed(2) + " minutes" +
"Your required Descent Rate is:
" + descentRateFPM.toFixed(2) + " feet per minute (FPM)";
}
.calculator-container {
font-family: sans-serif;
max-width: 600px;
margin: 20px auto;
padding: 20px;
border: 1px solid #ccc;
border-radius: 8px;
box-shadow: 0 2px 5px rgba(0,0,0,0.1);
}
.calculator-input {
margin-bottom: 20px;
padding-bottom: 20px;
border-bottom: 1px solid #eee;
}
.calculator-input h2 {
margin-top: 0;
color: #333;
}
.form-group {
margin-bottom: 15px;
}
.form-group label {
display: block;
margin-bottom: 5px;
font-weight: bold;
color: #555;
}
.form-group input[type="number"] {
width: calc(100% – 22px);
padding: 10px;
border: 1px solid #ccc;
border-radius: 4px;
font-size: 16px;
}
.calculator-input button {
background-color: #007bff;
color: white;
padding: 12px 20px;
border: none;
border-radius: 5px;
cursor: pointer;
font-size: 16px;
transition: background-color 0.3s ease;
}
.calculator-input button:hover {
background-color: #0056b3;
}
.calculator-result h3 {
color: #333;
}
#result p {
margin-bottom: 10px;
line-height: 1.5;
}
#result strong {
color: #007bff;
}