2014-04-13 3 views
2

게이지를 통해 BMI를 나타내려고하지만 게이지의 값을 동적으로 변경하는 방법을 얻지 못하는 피트니스 앱을 개발 중입니다. 두 번째 문제는 버튼에 게이지 스크립트를 넣을 때입니다. 그것을 클릭하면 오류가 발생합니다 "No element with id :"gauge "found!". 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

숫자가 0보다 작아지고 있기 때문에 BMI 계산을 수정하고 단위를 더하는 것이 좋습니다 (lbs vs. kg, cm 대 in). 여하튼 나는 게이지를 업데이트하는 방법을 보여주기 위해 새로운 계산 (그냥 무게와 높이를 더함)을 작성했습니다. 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 체크 표시를 클릭하여 답을 수락하십시오. –

관련 문제