2014-04-13 39 views
2

我正在开发一个健身应用程序,我想通过量具来表示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> 

回答

2

你会想修复你的体重指数计算和添加单位(磅对公斤,与厘米的),因为我越来越低于零的数字。无论如何,我写了一个新的计算(只是增加重量和高度)来演示如何更新计量器:由于脚本相对于div元素的排序方式,最有可能得到“计量器未找到”的错误。

请参阅This JSFiddle demo

<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> 
+0

感谢的人的帮助,它的工作。 – foxt7ot

+0

@YaseenKhan请点击勾号接受答案。 –