雖然網上已有其他程式人員編寫了專計算電阻的程式,但在下自己亦編寫一個可以方便自己使用的電阻計算程式
程式其實不算複雜,閣下有興趣亦可以使用,當然有 bug 亦可以報告在下
程式原始碼
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>電阻計算器</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> <style type="text/css"> /*<!--*/ label.mra-block { display: block; } /*-->*/ </style> <script type="text/javascript"> //<!-- window.addEventListener("load", function (event) { calculateOhms(); }); function calculateOhms() { var ds = [ document.calculator.d0, document.calculator.d1, document.calculator.d2, document.calculator.d3, document.calculator.d4 ]; var r4s = [ null, document.getElementById("resistor-4-1"), document.getElementById("resistor-4-2"), document.getElementById("resistor-4-3"), document.getElementById("resistor-4-4") ]; var r5s = [ document.getElementById("resistor-5-0"), document.getElementById("resistor-5-1"), document.getElementById("resistor-5-2"), document.getElementById("resistor-5-3"), document.getElementById("resistor-5-4") ]; for (var i in ds) { for (var j = 0; j < ds[i].length; j++) { if (ds[i].item(j).checked) { // ds[i].item(j) = HTMLInputElement // ds[i].item(j).parentNode = HTMLLabelElement // ds[i].item(j).parentNode.parentNode = HTMLTableCellElement // ds[i].item(j).parentNode.parentNode.parentNode = HTMLTableRowElement var color = ds[i].item(j).parentNode.parentNode.parentNode.style.backgroundColor; var opacity = ((color == "") ? 0 : 1); if (r4s[i] != null) { r4s[i].setAttribute("fill", color); r4s[i].setAttribute("fill-opacity", opacity); } if (r5s[i] != null) { r5s[i].setAttribute("fill", color); r5s[i].setAttribute("fill-opacity", opacity); } } } } var t = trimDigit((-ds[0].value - ds[1].value - ds[2].value) * -ds[3].value); if (ds[4] != 0) { var lower = trimDigit(t * (1 - ds[4].value / 100)); var upper = t * 2 - lower; t = "(" + lower + " ~ " + upper + ") " + t; } document.calculator.ohms.value = t; } function trimDigit(value) { return (value.toFixed(3) - 0); } //--> </script> </head> <body> <form name="calculator" action="" method="get" onreset="return false;" onsubmit="return false;"> <table class="mra-collapse mra-table" width="95%" border="1" cellpadding="5"> <colgroup> <col width="10%"/> <col width="15%"/> <col width="15%"/> <col width="15%"/> <col width="15%"/> <col width="15%"/> <col width="15%"/> </colgroup> <thead> <tr> <th rowspan="4">顏色</th> <th rowspan="2">第一環<br />(百位)</th> <th>第二環<br />(十位)</th> <th>第三環<br />(個位)</th> <th>第四環<br />(倍數)</th> <th>第五環<br />(百分比誤差)</th> <th rowspan="3">第六環<br />(溫度系數)</th> </tr> <tr> <th colspan="4">四環</th> </tr> <tr> <th colspan="5">五環</th> </tr> <tr> <th colspan="6">六環</th> </tr> </thead> <tfoot> <tr> <th colspan="7"><input type="text" name="ohms" style="width: 300px; text-align: right;" onkeyup="selectRings();"/>Ω</th> </tr> <tr> <th colspan="7"> <div> <svg xmlns="http://www.w3.org/2000/svg" version="1.2" width="600" height="112"> <g stroke-width="16.444"> <path d="m67.127 5.1048c-5.9195-2.7229-16.101-4.854-22.612-4.854h-32.676c-6.5115 0-11.839 5.3276-11.839 11.839v88.071c0 6.5234 5.3276 11.839 11.839 11.839h32.676c6.5115 0 16.693-2.2376 22.612-4.854l1.1839-0.58011c5.9195-2.723 16.101-4.854 22.612-4.854h118.15c6.5234 0 16.681 2.2376 22.6 4.854l1.1958 0.58011c5.9195 2.7229 16.077 4.854 22.612 4.854h32.676c6.5352 0 11.839-5.3158 11.839-11.839v-88.071c0-6.5115-5.3039-11.839-11.839-11.839h-32.676c-6.5352 0-16.693 2.2495-22.612 4.854l-1.1958 0.59198c-5.9195 2.7229-16.077 4.854-22.6 4.854h-118.15c-6.5115 0-16.693-2.2495-22.612-4.854z" fill="#d9b477"/> <g fill="#000000"> <path id="resistor-4-1" d="m73.388 7.4727c-1.8943-0.59196-3.6701-1.1839-5.0908-1.8943l-1.1839-0.59196c-5.9195-2.7111-16.101-4.854-22.612-4.854h-1.4207v111.75h1.4207c6.5115 0 16.693-2.2376 22.612-4.854l1.1839-0.58011c1.4207-0.73402 3.1965-1.3141 5.0908-1.8943z"/> <rect id="resistor-4-2" x="103.71" y="10.551" width="30.427" height="91.042"/> <rect id="resistor-4-3" x="164.55" y="10.551" width="30.427" height="91.042"/> <rect id="resistor-4-4" x="260.68" y=".14428" width="11.555" height="111.74"/> </g> <rect x="260.68" y="9.8404" width="11.555" height="12.313" fill="#ffffff" fill-opacity=".5"/> </g> <g stroke-width="16.444"> <path d="m367.12 5.0981c-5.9198-2.7296-16.099-4.851-22.611-4.851l-32.673-2e-6c-6.5118 0-11.84 5.3278-11.84 11.84v88.074c0 6.5118 5.3278 11.84 11.84 11.84l32.673-1.1e-4c6.5118 0 16.691-2.2364 22.611-4.8674l1.184-0.57556c5.9198-2.7132 16.099-4.851 22.611-4.851h118.15c6.5282 0 16.707 2.2528 22.611 4.851l1.184 0.5755c5.9363 2.7296 16.099 4.8674 22.627 4.8674h32.673c6.5118 0 11.84-5.3114 11.84-11.84l4.5e-4 -88.074c0-6.5118-5.3114-11.84-11.84-11.84h-32.673c-6.5282 0-16.691 2.2528-22.627 4.851l-1.184 0.59203c-5.9034 2.7296-16.083 4.851-22.611 4.851h-118.15c-6.5118 0-16.691-2.2528-22.611-4.851z" fill="#7bc6b8"/> <g fill="#000000"> <path id="resistor-5-0" d="m373.39 7.466c-1.8911-0.59199-3.667-1.184-5.0976-1.8911l-1.184-0.59199c-5.9035-2.7132-16.083-4.851-22.593-4.851h-1.4307v111.75h1.4307c6.5118 0 16.691-2.2528 22.611-4.851l1.184-0.59192c1.4141-0.72353 3.2066-1.2991 5.0976-1.8911l7e-5 -97.084z"/> <rect id="resistor-5-1" x="391.87" y="10.541" width="30.421" height="91.05"/> <rect id="resistor-5-2" x="440.87" y="10.541" width="30.437" height="91.05"/> <path id="resistor-5-3" d="m487.98 10.59h23.021c3.3382 0 7.2024-1.036 7.2024-1.036v93.27s-3.3381-1.0688-7.2024-1.0688c-3.8643 0-23.021-0.11508-23.021-0.11508z"/> <rect id="resistor-5-4" x="560.68" y=".13205" width="11.56" height="111.75"/> </g> <rect x="560.68" y="9.8339" width="11.56" height="12.316" fill="#ffffff" fill-opacity=".5"/> </g> </svg> </div> </th> </tr> </tfoot> <tbody> <tr style="color:#ffffff; background-color: #000000;"> <th>黑色</th> <td><label class="mra-block"><input type="radio" name="d0" value="0" checked="checked" onchange="calculateOhms();"/>0</label></td> <td><label class="mra-block"><input type="radio" name="d1" value="0" onchange="calculateOhms();"/>0</label></td> <td><label class="mra-block"><input type="radio" name="d2" value="0" checked="checked" onchange="calculateOhms();"/>0</label></td> <td><label class="mra-block"><input type="radio" name="d3" value="1" onchange="calculateOhms();"/>1</label></td> <td></td> <td></td> </tr> <tr style="color:#ffffff; background-color: #880c0c;"> <th>啡色</th> <td><label class="mra-block"><input type="radio" name="d0" value="100" onchange="calculateOhms();"/>100</label></td> <td><label class="mra-block"><input type="radio" name="d1" value="10" onchange="calculateOhms();"/>10</label></td> <td><label class="mra-block"><input type="radio" name="d2" value="1" onchange="calculateOhms();"/>1</label></td> <td><label class="mra-block"><input type="radio" name="d3" value="10" checked="checked" onchange="calculateOhms();"/>10</label></td> <td><label class="mra-block"><input type="radio" name="d4" value="1" onchange="calculateOhms();"/>1</label></td> <td>100 PPM</td> </tr> <tr style="color:#ffffff; background-color: #ff0000;"> <th>紅色</th> <td><label class="mra-block"><input type="radio" name="d0" value="200" onchange="calculateOhms();"/>200</label></td> <td><label class="mra-block"><input type="radio" name="d1" value="20" checked="checked" onchange="calculateOhms();"/>20</label></td> <td><label class="mra-block"><input type="radio" name="d2" value="2" checked="checked" onchange="calculateOhms();"/>2</label></td> <td><label class="mra-block"><input type="radio" name="d3" value="100" onchange="calculateOhms();"/>100</label></td> <td><label class="mra-block"><input type="radio" name="d4" value="2" onchange="calculateOhms();"/>2</label></td> <td>50 PPM</td> </tr> <tr style="color:#000000; background-color: #ffa800;"> <th>橙色</th> <td><label class="mra-block"><input type="radio" name="d0" value="300" onchange="calculateOhms();"/>300</label></td> <td><label class="mra-block"><input type="radio" name="d1" value="30" onchange="calculateOhms();"/>30</label></td> <td><label class="mra-block"><input type="radio" name="d2" value="3" onchange="calculateOhms();"/>3</label></td> <td><label class="mra-block"><input type="radio" name="d3" value="1000" onchange="calculateOhms();"/>1000</label></td> <td></td> <td>15 PPM</td> </tr> <tr style="color:#000000; background-color: #ffff00;"> <th>黃色</th> <td><label class="mra-block"><input type="radio" name="d0" value="400" onchange="calculateOhms();"/>400</label></td> <td><label class="mra-block"><input type="radio" name="d1" value="40" onchange="calculateOhms();"/>40</label></td> <td><label class="mra-block"><input type="radio" name="d2" value="4" onchange="calculateOhms();"/>4</label></td> <td><label class="mra-block"><input type="radio" name="d3" value="10000" onchange="calculateOhms();"/>10000</label></td> <td></td> <td>25 PPM</td> </tr> <tr style="color:#ffffff; background-color: #008a00;"> <th>綠色</th> <td><label class="mra-block"><input type="radio" name="d0" value="500" onchange="calculateOhms();"/>500</label></td> <td><label class="mra-block"><input type="radio" name="d1" value="50" onchange="calculateOhms();"/>50</label></td> <td><label class="mra-block"><input type="radio" name="d2" value="5" onchange="calculateOhms();"/>5</label></td> <td><label class="mra-block"><input type="radio" name="d3" value="100000" onchange="calculateOhms();"/>100000</label></td> <td><label class="mra-block"><input type="radio" name="d4" value="0.5" onchange="calculateOhms();"/>0.5</label></td> <td></td> </tr> <tr style="color:#ffffff; background-color: #00008a;"> <th>藍色</th> <td><label class="mra-block"><input type="radio" name="d0" value="600" onchange="calculateOhms();"/>600</label></td> <td><label class="mra-block"><input type="radio" name="d1" value="60" onchange="calculateOhms();"/>60</label></td> <td><label class="mra-block"><input type="radio" name="d2" value="6" onchange="calculateOhms();"/>6</label></td> <td><label class="mra-block"><input type="radio" name="d3" value="1000000" onchange="calculateOhms();"/>1000000</label></td> <td><label class="mra-block"><input type="radio" name="d4" value="0.25" onchange="calculateOhms();"/>0.25</label></td> <td></td> </tr> <tr style="color:#ffffff; background-color: #ff00ff;"> <th>紫色</th> <td><label class="mra-block"><input type="radio" name="d0" value="700" onchange="calculateOhms();"/>700</label></td> <td><label class="mra-block"><input type="radio" name="d1" value="70" onchange="calculateOhms();"/>70</label></td> <td><label class="mra-block"><input type="radio" name="d2" value="7" onchange="calculateOhms();"/>7</label></td> <td><label class="mra-block"><input type="radio" name="d3" value="10000000" onchange="calculateOhms();"/>10000000</label></td> <td><label class="mra-block"><input type="radio" name="d4" value="0.1" onchange="calculateOhms();"/>0.1</label></td> <td></td> </tr> <tr style="color:#ffffff; background-color: #888888;"> <th>灰色</th> <td><label class="mra-block"><input type="radio" name="d0" value="800" onchange="calculateOhms();"/>800</label></td> <td><label class="mra-block"><input type="radio" name="d1" value="80" onchange="calculateOhms();"/>80</label></td> <td><label class="mra-block"><input type="radio" name="d2" value="8" onchange="calculateOhms();"/>8</label></td> <td><label class="mra-block"><input type="radio" name="d3" value="100000000" onchange="calculateOhms();"/>100000000</label></td> <td><label class="mra-block"><input type="radio" name="d4" value="0.5" onchange="calculateOhms();"/>0.5</label></td> <td></td> </tr> <tr style="color:#000000; background-color: #ffffff;"> <th>白色</th> <td><label class="mra-block"><input type="radio" name="d0" value="900" onchange="calculateOhms();"/>900</label></td> <td><label class="mra-block"><input type="radio" name="d1" value="90" onchange="calculateOhms();"/>90</label></td> <td><label class="mra-block"><input type="radio" name="d2" value="9" onchange="calculateOhms();"/>9</label></td> <td><label class="mra-block"><input type="radio" name="d3" value="1000000000" onchange="calculateOhms();"/>1000000000</label></td> <td></td> <td></td> </tr> <tr style="color:#000000; background-color: #c0c800;"> <th>金色</th> <td></td> <td></td> <td></td> <td></td> <td><label class="mra-block"><input type="radio" name="d4" value="5" checked="checked" onchange="calculateOhms();"/>5</label></td> <td></td> </tr> <tr style="color:#000000; background-color: #c8c8c8;"> <th>銀色</th> <td></td> <td></td> <td></td> <td></td> <td><label class="mra-block"><input type="radio" name="d4" value="10" onchange="calculateOhms();"/>10</label></td> <td></td> </tr> <tr> <th>無色</th> <td></td> <td></td> <td></td> <td></td> <td><label class="mra-block"><input type="radio" name="d4" value="20" onchange="calculateOhms();"/>20</label></td> <td></td> </tr> </tbody> </table> </form> </body> </html>
沒有留言 :
張貼留言