3

我正在开发一个健身应用程序,我想通过量具表示 BMI,但没有得到如何动态更改量具的值第二个问题是,当我将量具脚本放在按钮上时,单击它给我错误“没有元素带有 id:“仪表”找到!”。任何人都可以解决我的两个问题,因为我是 JS 新手。所以请赐教并纠正我。

<html>
<head>
<script src="raphael.2.1.0.min.js"></script>
<script src="justgage.1.0.1.min.js"></script>

<script type="text/javascript">
function funky()
{
    var weight=document.getElementById("weight");
    var height=document.getElementById("height");
    var heightDouble=height.value*height.value;
    var bmi=weight.value/heightDouble;
    document.getElementById("bmi").innerHTML=bmi;
    cc();
}
</script>
</head>
<body>
<input type="text" id="weight"/>
<input type="text" id="height"/>
<input type="button" id="calculate" onClick="funky()"/>
<div id="bmi"></id>
<div id="gauge"></div>

           <script>
           function cc()
           {               
var g = new JustGage({
id: "gauge",        
value: 10,
min: 0,
max: 100,
title: "Visitors"
}); 
}   
</script>

</body>
</html>
4

1 回答 1

3

您需要修正您的 BMI 计算并添加单位(lbs vs. kg,cm vs. in),因为我得到的数字低于零。无论如何,我写了一个新的计算(只是添加重量和高度)来演示如何更新仪表:由于脚本相对于 div 元素的排序方式,您很可能会收到“未找到仪表”错误。

请参阅此 JSFiddle 演示

<script src="//cdn.jsdelivr.net/raphael/2.1.2/raphael-min.js"></script>
<script src="//cdn.jsdelivr.net/justgage/1.0.1/justgage.min.js"></script>
<body>
    <input type="text" id="weight" />
    <input type="text" id="height" />
    <input type="button" id="calculate" onClick="funky()" value="calculate" />
    <div id="bmi"></div>
    <div id="gauge" class="200x160px"></div>
    <script>
        function funky() {
            var weight = document.getElementById("weight");
            var height = document.getElementById("height");
            var heightDouble = height.value * height.value;
            var bmi = weight.value / heightDouble;
            document.getElementById("bmi").innerHTML = bmi;
            //cc();
            var weightPlusHeight = parseInt(weight.value) + parseInt(height.value);
            g.refresh(weightPlusHeight);
        }

        var g = new JustGage({
            id: "gauge",
            value: 0,
            min: 0,
            max: 200,
            title: "BMI"
        });
    </script>
</body>
于 2014-04-13T19:56:17.410 回答