[JavaScript] JavaScript计算器 →→→→→进入此内容的聊天室

来自 , 2020-09-09, 写在 JavaScript, 查看 171 次.
URL http://www.code666.cn/view/c81e728d
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  5. <title>JavaScript计算器</title>
  6. <style type="text/css">
  7. input {
  8.         background-color: #CCC;
  9.         width: 70px;
  10.         height: 40px;
  11. }
  12.  
  13. table {
  14.         background-color: #999;
  15.         border: 3px solid #666;
  16.         padding: 3px;
  17. }
  18.  
  19. .result {
  20.         width: 420px;
  21.         background-color: #999;
  22.         margin-bottom: 10px;
  23.         font-family: "微软雅黑", Verdana, sans-serif, "宋体";
  24.         font-size: 14px;
  25.         color: #FFF;
  26.         padding-left: 20px;
  27. }
  28.  
  29. .clear {
  30.         width: 146px;
  31. }
  32. </style>
  33. </head>
  34. <script language="JavaScript">
  35.         var baseoper;
  36.         var digitstate;
  37.         var num1;
  38.         var operstate;
  39.  
  40.         function setStartState() {
  41.                 digitstate = "beempty";
  42.                 num1 = 0;
  43.                 baseoper = "beempty";
  44.                 operstate = false;
  45.  
  46.         }
  47.         function add(i) {
  48.                 if (operstate) {
  49.                         cal.total.value = i;
  50.                         operstate = false;
  51.                 } else {
  52.                         if (cal.total.value == "0") {
  53.                                 cal.total.value = i;
  54.                                 digistate = "bein";
  55.                         } else
  56.                                 cal.total.value += i;
  57.                 }
  58.         }
  59.         function cleartext() {
  60.                 cal.total.value = "0";
  61.                 digitstate = "beempty";
  62.                 basestate = "beempty"
  63.         }
  64.  
  65.         function count() {
  66.                 if (baseoper != "beempty") {
  67.                         switch (baseoper) {
  68.                         case "+":
  69.                                 num1 = parseFloat(num1) + parseFloat(cal.total.value);
  70.                                 break;
  71.                         case "-":
  72.                                 num1 = parseFloat(num1) - parseFloat(cal.total.value);
  73.                                 break;
  74.                         case "*":
  75.                                 num1 = parseFloat(num1) * parseFloat(cal.total.value);
  76.                                 break;
  77.                         case "/":
  78.                                 num1 = parseFloat(num1) / parseFloat(cal.total.value);
  79.                                 break;
  80.                         }
  81.                         preoper = true;
  82.                         cal.total.value = num1;
  83.                 }
  84.                 baseoper = "beempty";
  85.         }
  86.         function useFunc(func) {
  87.                 switch (func) {
  88.                 case "sin":
  89.                         cal.total.value = Math.sin(cal.total.value);
  90.                         break;
  91.                 case "cos":
  92.                         cal.total.value = Math.cos(cal.total.value);
  93.                         break;
  94.                 case "asin":
  95.                         cal.total.value = Math.asin(cal.total.value);
  96.                         break;
  97.                 case "acos":
  98.                         cal.total.value = Math.acos(cal.total.value);
  99.                         break;
  100.                 case "tan":
  101.                         cal.total.value = Math.tan(cal.total.value);
  102.                         break;
  103.                 case "atan":
  104.                         cal.total.value = Math.atan(cal.total.value);
  105.                         break;
  106.                 case "log":
  107.                         cal.total.value = Math.log(cal.total.value);
  108.                         break;
  109.                 case "exp":
  110.                         cal.total.value = Math.exp(cal.total.value);
  111.                         break;
  112.                 case "sqrt":
  113.                         cal.total.value = Math.sqrt(cal.total.value);
  114.                         break;
  115.                 case "1/x":
  116.                         cal.total.value = 1 / cal.total.value;
  117.                         break;
  118.                 }
  119.                 operstate = true;
  120.         }
  121.         function addPoint() {
  122.                 if (digitstate == "bein" || digitstate == "beempty") {
  123.                         cal.total.value += ".";
  124.                         digistate = "befloat";
  125.                 }
  126.         }
  127.         function setOper(oper) {
  128.                 operstate = true;
  129.                 if (baseoper == "beempty") {
  130.                         num1 = 0 + cal.total.value;
  131.                         baseoper = oper;
  132.                 } else {
  133.                         count();
  134.                         baseoper = oper;
  135.                 }
  136.         }
  137. </script>
  138. <body onload="setStartState()">
  139. <h2>JavaScript计算器</h2>
  140. <form name="cal">
  141. <table cellpadding="0" cellspacing="0">
  142.         <tr align="center">
  143.                 <td colspan="6"><input class="result" type="Text" name="total"
  144.                         size="25" value="0"></td>
  145.         </tr>
  146.         <tr align="center">
  147.                 <td><input type="Button" value="sin" onclick="useFunc('sin')"></td>
  148.                 <td><input type="Button" value="cos" onclick="useFunc('cos')"></td>
  149.                 <td><input type="Button" value="1" onclick="add('1')"></td>
  150.                 <td><input type="Button" value="2" onclick="add('2')"></td>
  151.                 <td><input type="Button" value="3" onclick="add('3')"></td>
  152.                 <td><input type="Button" value="+" onclick="setOper('+')"></td>
  153.         </tr>
  154.         <tr align="center">
  155.                 <td><input type="Button" value="asin" onclick="useFunc('asin')"></td>
  156.                 <td><input type="Button" value="acos" onclick="useFunc('acos')"></td>
  157.                 <td><input type="Button" value="4" onclick="add('4')"></td>
  158.                 <td><input type="Button" value="5" onclick="add('5')"></td>
  159.                 <td><input type="Button" value="6" onclick="add('6')"></td>
  160.                 <td><input type="Button" value="-" onclick="setOper('-')"></td>
  161.         </tr>
  162.         <tr align="center">
  163.                 <td><input type="Button" value="tan" onclick="useFunc('tan')"></td>
  164.                 <td><input type="Button" value="atan" onclick="useFunc('atan')"></td>
  165.                 <td><input type="Button" value="7" onclick="add('7')"></td>
  166.                 <td><input type="Button" value="8" onclick="add('8')"></td>
  167.                 <td><input type="Button" value="9" onclick="add('9')"></td>
  168.                 <td><input type="Button" value="x" onclick="setOper('*')"></td>
  169.         </tr>
  170.         <tr align="center">
  171.                 <td><input type="Button" value="log" onclick="useFunc('log')"></td>
  172.                 <td><input type="Button" value="exp" onclick="useFunc('exp')"></td>
  173.                 <td><input type="Button" value="0" onclick="add('0')"></td>
  174.                 <td><input type="Button" value="." onclick="addPoint()"></td>
  175.                 <td><input type="Button" value="c" onclick="cleartext()"></td>
  176.                 <td><input type="Button" value="÷" onclick="setOper('/')"></td>
  177.         </tr>
  178.         <tr align="center">
  179.                 <td><input type="Button" value="sqrt" onclick="useFunc('sqrt')">
  180.                 <td><input type="Button" value="1/x" onclick="useFunc('1/x')">
  181.                 <td><input type="Button" value="pi"
  182.                         onclick="cal.total.value=Math.PI"></td>
  183.                 <td><input type="Button" value="E"
  184.                         onclick="cal.total.value=Math.E"></td>
  185.                 <td colspan=2><input class="clear" type="Button" value="="
  186.                         onclick="count()"></td>
  187.         </tr>
  188. </table>
  189. </form>
  190. </body>
  191. </html>

回复 "JavaScript计算器"

这儿你可以回复上面这条便签

captcha