帮我写一个html页面,要求用户可以输入自己的身高、体重、年龄、性别等数据,然后页面根据用户输入的数据计算出BMI指数、理想体重、代谢率、身体健康状况以及运动建议并呈现到页面上
时间: 2023-07-10 13:07:16 浏览: 123
设计一线型布局窗口,根据输入的身高和体重,计算BMI值。其中所用到的字符串和数值尽可能预先建立资源。
好的,下面是一个简单的HTML页面,可以实现你的需求:
```
<!DOCTYPE html>
<html>
<head>
<title>BMI计算器</title>
<meta charset="utf-8">
</head>
<body>
<h1>BMI计算器</h1>
<form>
<label>身高(cm):<input type="number" id="height" required></label><br><br>
<label>体重(kg):<input type="number" id="weight" required></label><br><br>
<label>年龄:<input type="number" id="age" required></label><br><br>
<label>性别:
<input type="radio" name="gender" id="male" value="male" checked>
<label for="male">男</label>
<input type="radio" name="gender" id="female" value="female">
<label for="female">女</label>
</label><br><br>
<input type="submit" value="计算BMI指数" onclick="calculate()">
</form>
<br><br>
<h2>计算结果:</h2>
<p id="bmi"></p>
<p id="idealweight"></p>
<p id="metabolism"></p>
<p id="health"></p>
<p id="exercise"></p>
<script>
function calculate() {
var height = document.getElementById("height").value;
var weight = document.getElementById("weight").value;
var age = document.getElementById("age").value;
var gender = document.querySelector('input[name="gender"]:checked').value;
var bmi = weight / ((height/100) * (height/100)).toFixed(2);
var ideal_weight;
if (gender == "male") {
ideal_weight = (height - 80) * 0.7;
} else {
ideal_weight = (height - 70) * 0.6;
}
var metabolism = (10 * weight + 6.25 * height - 5 * age + 5 * (gender == "male" ? 1 : -1)).toFixed(2);
var health;
if (bmi < 18.5) {
health = "偏瘦";
} else if (bmi >= 18.5 && bmi < 24) {
health = "正常";
} else if (bmi >= 24 && bmi < 28) {
health = "超重";
} else if (bmi >= 28 && bmi < 32) {
health = "肥胖";
} else {
health = "重度肥胖";
}
var exercise;
if (bmi < 18.5) {
exercise = "适量增加运动,增加肌肉量,注意饮食均衡";
} else if (bmi >= 18.5 && bmi < 24) {
exercise = "保持健康的饮食习惯,适量运动";
} else if (bmi >= 24 && bmi < 28) {
exercise = "减少高脂肪、高热量食物的摄入,适量增加运动";
} else if (bmi >= 28 && bmi < 32) {
exercise = "控制饮食,适量增加运动,建议咨询医生";
} else {
exercise = "控制饮食,适量增加运动,建议咨询医生";
}
document.getElementById("bmi").innerHTML = "您的BMI指数为:" + bmi;
document.getElementById("idealweight").innerHTML = "您的理想体重为:" + ideal_weight.toFixed(2) + "kg";
document.getElementById("metabolism").innerHTML = "您的基础代谢率为:" + metabolism + "千卡/天";
document.getElementById("health").innerHTML = "您的身体健康状况:" + health;
document.getElementById("exercise").innerHTML = "运动建议:" + exercise;
}
</script>
</body>
</html>
```
这个页面中,我们使用了一个表单来让用户输入身高、体重、年龄和性别等数据。当用户点击“计算BMI指数”按钮时,页面会调用calculate()函数来计算BMI指数、理想体重、代谢率、身体健康状况以及运动建议,并显示在页面上。
阅读全文