На практике я делаю простой калькулятор BMR / TDEE / BMI. Однако HTML и CSS работали нормально, хотя я думаю, что код Javascript в порядке, а формулы верны, я не могу получить результат из кода, который появится на моем калькуляторе. Я надеялся, что смогу понять, что я делаю неправильно.
// Create variables
var height = document.getElementById("height").value / 39.37;
var weight = document.getElementById("weight").value / 2.205;
var activity = document.getElementById("activity").value;
var gender = document.getElementsByClassName("dataGender").value;
var age = document.getElementById("age").value;
//Calculate Tip
function calculateBMI(height, weight) {
//validate input
if (height === "" || weight == 0) {
alert("Please enter values");
return;
}
//Calculate BMI
var bmi = height / math.pow(weight, 2);
//round to two decimal places
bmi = Math.round(bmi * 100) / 100;
//next line allows us to always have two digits after decimal point
bmi = bmi.toFixed(2);
return bmi;
}
function calculateBMR(height, weight, age, gender) {
var bmr = null;
switch (gender) {
case "male":
bmr = 66.5 + (13.75 * weight) + (5.003 * height) - (6.755 * age);
break;
case "female":
bmr = 655.1 + (9.563 * weight) + (1.850 * height) - (4.676 * age);
break;
}
return bmr;
}
function calculateTDEE(bmr) {
var tdee = null;
switch (activity) {
case "Sedentary":
tdee = Math.round(bmr * 1.2);
break;
case "Light Exercise (1-2 days/week)":
tdee = Math.round(bmr * 1.375);
break;
case "Moderate Exercise (3-5 days/week)":
tdee = Math.round(bmr * 1.55);
break;
case "Heavy Exercise (6-7 days/week)":
tdee = Math.round(bmr * 1.725);
break;
case "Athlete (2x per day)":
tdee = Math.round(bmr * 1.9);
break;
}
return tdee;
}
function displayResults(bmi, bmr, tdee) {
//Display the results
document.getElementById("bmr").style.display = "block";
document.getElementById("bmr").innerHTML = bmr;
document.getElementById("bmi").style.display = "block";
document.getElementById("bmi").innerHTML = bmr;
document.getElementById("tdee").style.display = "block";
document.getElementById("tdee").innerHTML = tdee;
}
//click to call function
document.getElementsByClassName("butn").onclick = function() {
displayResults();
};
Когда я нажимаю кнопку «Рассчитать» на моей веб-странице, она показывает только пустой блок. Помощь будет оценена. Спасибо.