我一直在搞亂HTML並操縱SVG。作爲練習,我創建了一個使用javascript解決畢達哥拉斯定理並在300h x 300w區域顯示三角形的頁面。我認爲我的問題是,當變量「a
」與變量「b
」之間的差異太大時,比較「if(a>b)
」無法正常工作。因此,它完全適用於a=55
和b=32
甚至a=5555
和b=5000
但如果我不a=1001
和b=55
似乎運行它彷彿b
比a
更大。任何人都有一個修復與大數字的JavaScript比較?
<h2>Pythagorean theorem</h2>
<p>Enter Variable "a"<input id="vara" type="text"></p>
<p>Enter Variable "b"<input id="varb" type="text"></p>
<p><span id="a">a</span><sup>2</sup> +
<span id="b">b</span><sup>2</sup> =
<span id="c">c</span><sup>2</sup></p>
<script>
function pythagorean(){
var a=document.getElementById("vara").value;
var b=document.getElementById("varb").value;
var x=a * a + b * b;
var c=Math.sqrt(x);
if(a>b){
ay=0
bx=b/a*300
}
else{
ay=300-(a/b*300)
bx=300
}
document.getElementById("a").innerHTML=a;
document.getElementById("b").innerHTML=b;
document.getElementById("c").innerHTML=c;
document.getElementById('trianglepoints').setAttribute("points",bx+",300 0,300 0,"+ay);
}
</script>
<svg id="triangle xmlns="http://www.w3.org/2000/svg" version="1.1" height="300" width="300">
<polygon id="trianglepoints" points=""
style="fill:red;stroke:black;stroke-width:1;">
</svg>
<br />
<button type="button" onclick="pythagorean()">calculate</button>
http://jsfiddle.net/nHX44/ –