职业IT人-IT人生活圈

 找回密码
 成为会员
搜索
查看: 1148|回复: 11

JavaScript计算器代码

  [复制链接]
无处不在 发表于 2010-5-20 17:33 | 显示全部楼层 |阅读模式
JavaScript计算器代码
  1. <FORM name="Keypad" action="">
  2. <TABLE>
  3. <B>
  4. <TABLE border=2 width=50 height=60 cellpadding=1 cellspacing=5>
  5. <TR>
  6. <TD colspan=3 align=middle>
  7. <input name="ReadOut" type="Text" size=24 value="0" width=100%>
  8. </TD>
  9. <TD>
  10. </TD>
  11. <TD>
  12. <input name="btnClear" type="Button" value="  C  " onclick="Clear()">
  13. </TD>
  14. <TD><input name="btnClearEntry" type="Button" value="  CE " onclick="ClearEntry()">
  15. </TD>
  16. </TR>
  17. <TR>
  18. <TD>
  19. <input name="btnSeven" type="Button" value="  7  " onclick="NumPressed(7)">
  20. </TD>
  21. <TD>
  22. <input name="btnEight" type="Button" value="  8  " onclick="NumPressed(8)">
  23. </TD>
  24. <TD>
  25. <input name="btnNine" type="Button" value="  9  " onclick="NumPressed(9)">
  26. </TD>
  27. <TD>
  28. </TD>
  29. <TD>
  30. <input name="btnNeg" type="Button" value=" +/- " onclick="Neg()">
  31. </TD>
  32. <TD>
  33. <input name="btnPercent" type="Button" value="  % " onclick="Percent()">
  34. </TD>
  35. </TR>
  36. <TR>
  37. <TD>
  38. <input name="btnFour" type="Button" value="  4  " onclick="NumPressed(4)">
  39. </TD>
  40. <TD>
  41. <input name="btnFive" type="Button" value="  5  " onclick="NumPressed(5)">
  42. </TD>
  43. <TD>
  44. <input name="btnSix" type="Button" value="  6  " onclick="NumPressed(6)">
  45. </TD>
  46. <TD>
  47. </TD>
  48. <TD align=middle><input name="btnPlus" type="Button" value="  +  " onclick="Operation('+')">
  49. </TD>
  50. <TD align=middle><input name="btnMinus" type="Button" value="   -   " onclick="Operation('-')">
  51. </TD>
  52. </TR>
  53. <TR>
  54. <TD>
  55. <input name="btnOne" type="Button" value="  1  " onclick="NumPressed(1)">
  56. </TD>
  57. <TD>
  58. <input name="btnTwo" type="Button" value="  2  " onclick="NumPressed(2)">
  59. </TD>
  60. <TD>
  61. <input name="btnThree" type="Button" value="  3  " onclick="NumPressed(3)">
  62. </TD>
  63. <TD>
  64. </TD>
  65. <TD align=middle><input name="btnMultiply" type="Button" value="  *  " onclick="Operation('*')">
  66. </TD>
  67. <TD align=middle><input name="btnDivide" type="Button" value="   /   " onclick="Operation('/')">
  68. </TD>
  69. </TR>
  70. <TR>
  71. <TD>
  72. <input name="btnZero" type="Button" value="  0  " onclick="NumPressed(0)">
  73. </TD>
  74. <TD>
  75. <input name="btnDecimal" type="Button" value="   .  " onclick="Decimal()">
  76. </TD>
  77. <TD colspan=3>
  78. </TD>
  79. <TD>
  80. <input name="btnEquals" type="Button" value="  =  " onclick="Operation('=')">
  81. </TD>
  82. </TR>
  83. </TABLE>
  84. </TABLE>
  85. </B>
  86. </FORM>
  87. </CENTER>
  88. <SCRIPT LANGUAGE="JavaScript">
  89. <!-- Begin
  90. var FKeyPad = document.Keypad;
  91. var Accum = 0;
  92. var FlagNewNum = false;
  93. var PendingOp = "";
  94. function NumPressed (Num) {
  95. if (FlagNewNum) {
  96. FKeyPad.ReadOut.value  = Num;
  97. FlagNewNum = false;
  98.    }
  99. else {
  100. if (FKeyPad.ReadOut.value == "0")
  101. FKeyPad.ReadOut.value = Num;
  102. else
  103. FKeyPad.ReadOut.value += Num;
  104.    }
  105. }
  106. function Operation (Op) {
  107. var Readout = FKeyPad.ReadOut.value;
  108. if (FlagNewNum && PendingOp != "=");
  109. else
  110. {
  111. FlagNewNum = true;
  112. if ( '+' == PendingOp )
  113. Accum += parseFloat(Readout);
  114. else if ( '-' == PendingOp )
  115. Accum -= parseFloat(Readout);
  116. else if ( '/' == PendingOp )
  117. Accum /= parseFloat(Readout);
  118. else if ( '*' == PendingOp )
  119. Accum *= parseFloat(Readout);
  120. else
  121. Accum = parseFloat(Readout);
  122. FKeyPad.ReadOut.value = Accum;
  123. PendingOp = Op;
  124.    }
  125. }
  126. function Decimal () {
  127. var curReadOut = FKeyPad.ReadOut.value;
  128. if (FlagNewNum) {
  129. curReadOut = "0.";
  130. FlagNewNum = false;
  131.    }
  132. else
  133. {
  134. if (curReadOut.indexOf(".") == -1)
  135. curReadOut += ".";
  136.    }
  137. FKeyPad.ReadOut.value = curReadOut;
  138. }
  139. function ClearEntry () {
  140. FKeyPad.ReadOut.value = "0";
  141. FlagNewNum = true;
  142. }
  143. function Clear () {
  144. Accum = 0;
  145. PendingOp = "";
  146. ClearEntry();
  147. }
  148. function Neg () {
  149. FKeyPad.ReadOut.value = parseFloat(FKeyPad.ReadOut.value) * -1;
  150. }
  151. function Percent () {
  152. FKeyPad.ReadOut.value = (parseFloat(FKeyPad.ReadOut.value) / 100) * parseFloat(Accum);
  153. }
  154. // End -->
  155. </SCRIPT>
复制代码
dab 发表于 2010-11-18 11:14 | 显示全部楼层
愚人 发表于 2011-7-16 12:23 | 显示全部楼层
我顶啊。接着顶
钰云 发表于 2011-7-19 10:43 | 显示全部楼层
回答了那么多,没有加分了,郁闷。。
醉倚西风 发表于 2011-7-25 10:32 | 显示全部楼层
不是吧~~~~~
hxy 发表于 2011-7-29 10:53 | 显示全部楼层
原来是这样
紫衿 发表于 2011-8-7 11:09 | 显示全部楼层
不是吧~~
yoyo 发表于 2011-8-10 10:45 | 显示全部楼层
不是吧~~
月上萧萧 发表于 2011-8-12 10:15 | 显示全部楼层
我去看看 网络上的事 我不是很会 哎
gz-vps 发表于 2011-8-12 10:18 | 显示全部楼层
求您了,给个机会
fossil 发表于 2011-8-17 12:24 | 显示全部楼层
呵呵 没事怎么有点被讽刺的味道啊
yoyo 发表于 2011-8-18 13:40 | 显示全部楼层
早上的时候把硬盘线重新弄 了下
您需要登录后才可以回帖 登录 | 成为会员

本版积分规则

QQ|手机版|小黑屋|网站帮助|职业IT人-IT人生活圈 ( 粤ICP备12053935号-1 )|网站地图
本站文章版权归原发布者及原出处所有。内容为作者个人观点,并不代表本站赞同其观点和对其真实性负责,本站只提供参考并不构成任何投资及应用建议。本站是信息平台,网站上部分文章为转载,并不用于任何商业目的,我们已经尽可能的对作者和来源进行了通告,但是能力有限或疏忽造成漏登,请及时联系我们,我们将根据著作权人的要求立即更正或者删除有关内容。

GMT+8, 2024-4-24 21:38 , Processed in 0.112769 second(s), 20 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表