Файловый менеджер - Редактировать - /home/hrpsychology/public_html/soulfood.gr/nutritioneng.soulfood.gr/bmi/js/bmi.js
Назад
var dom_age = document.getElementById("age"); var dom_height = document.getElementById("height"); var dom_weight = document.getElementById("weight"); var male = document.getElementById("m"); var female = document.getElementById("f"); var form = document.getElementById("form"); var exer = document.getElementById("exer"); var goal = document.getElementById("goal") // Listeners document.getElementById("submit").addEventListener("click", main); function validateForm(){ if(age.value=='' || height.value=='' || weight.value=='' || (male.checked==false && female.checked==false) || exer.value == "" || exer.goal == ""){ alert("Όλα τα πεδία είναι υποχρεωτικά!"); document.getElementById("submit").removeEventListener("click", calculateBmi); return false; } return true; } function main() { var form_is_valid = validateForm(); if(!form_is_valid) { return false; } var age = parseInt(dom_age.value); var weight = parseFloat(dom_weight.value); var height = parseFloat(dom_height.value); var bmi = calculateBmi(height, weight); var bmr = -1; var sex = getSex(); var coefs = getCoefs(age, sex); if(bmi <= 35) { bmr = calculateBmr(coefs.weight_coef, weight, coefs.c); } else { bmr = calculateBmrOverweight(weight, height, age, sex); } var bmr_with_exercise = calculateExerciseBmr(exer.value, bmr); renderResults(bmi, bmr_with_exercise); } function calculateBmi(height, weight) { var bmi = weight/(height/100*height/100); return bmi; } function calculateBmr(weight_coef, weight, c) { return weight_coef * weight + c; } function calculateBmrOverweight(weight, height, age, sex) { var c = 0; if(sex === "male"){ c = 5; }else { c = -161; } return (10*weight)+(6.25*height)-(5*age) + (c); } function calculateExerciseBmr(exercise_level, bmr) { switch (exercise_level) { case "1": return bmr * 1.2; break; case "2": return bmr * 1.375; break; case "3": return bmr * 1.55; break; case "4": return bmr * 1.725; break; case "5": return bmr * 1.9; break; default: return bmr; break; } } function getCoefs(age, sex) { var coefs = { weight_coef: null, c: null }; if(sex === "male") { if(age <= 18) { coefs = { weight_coef: 17.7, c: 658 }; } else if(age > 18 && age <= 30) { coefs = { weight_coef: 15.1, c: 692 }; } else if(age > 30 && age <= 60) { coefs = { weight_coef: 11.5, c: 873 }; } else if(age > 60 && age <= 75) { coefs = { weight_coef: 11.9, c: 700 }; } else if(age > 75) { coefs = { weight_coef: 8.4, c: 821 }; } } else { // if female if(age <= 18) { coefs = { weight_coef: 13.4, c: 693 }; } else if(age > 18 && age <= 30) { coefs = { weight_coef: 14.8, c: 487 }; } else if(age > 30 && age <= 60) { coefs = { weight_coef: 8.1, c: 846 }; } else if(age > 60 && age <= 75) { coefs = { weight_coef: 9.2, c: 687 }; } else if(age > 75) { coefs = { weight_coef: 9.8, c: 624 }; } } return coefs; } function getSex() { if(male.checked){ return "male"; }else if(female.checked){ return "female"; } } function renderResults(bmi, bmr) { if(bmi<18.5){ result = 'Ελλιπές Βάρος'; }else if(18.5<=bmi&&bmi<=24.9){ result = 'Φυσιολογικό Βάρος'; }else if(25<=bmi&&bmi<=29.9){ result = 'Υπέρβαρο'; }else if(30<=bmi&&bmi<=34.9){ result = 'Παχυσαρκία'; }else if(35<=bmi){ result = 'Σοβαρή Παχυσαρκία'; } if(goal.value==1){ var div = document.getElementById("bmi_results"); var bmi_text_result = document.getElementById("bmi_text_result"); var bmi_numeric_result = document.getElementById("bmi_numeric_result"); var bmr_numeric_result = document.getElementById("bmr_numeric_result"); bmi_text_result.textContent= result; bmi_numeric_result.textContent = 'ΔΜΣ: ' + parseFloat(bmi).toFixed(1); bmr_numeric_result.textContent = 'Ημερήσια Κατανάλωση Θερμίδων: ' + parseFloat(bmr).toFixed(1); div.style.display = "block"; }else if(goal.value==2){ var div = document.getElementById("bmi_results"); var bmi_text_result = document.getElementById("bmi_text_result"); var bmi_numeric_result = document.getElementById("bmi_numeric_result"); var bmr_numeric_result = document.getElementById("bmr_numeric_result"); bmi_text_result.textContent= result; bmi_numeric_result.textContent = 'ΔΜΣ: ' + parseFloat(bmi).toFixed(1); var bmr = parseFloat(bmr)-500; bmr_numeric_result.textContent = 'Ημερήσια Κατανάλωση Θερμίδων: ' + bmr.toFixed(1); div.style.display = "block"; } form.reset(); }
| ver. 1.4 |
Github
|
.
| PHP 8.2.32 | Генерация страницы: 0 |
proxy
|
phpinfo
|
Настройка