HTMl编写计算器

html ,css,javaScript完成的计算器程序:

 
 
  1. <html> 
  2. <title> 多动能计算器 </title> 
  3. <!--  
  4. 计算器version 4.0  
  5. 这一版本的计算器:  
  6.    
  7.     将所有的操作集合在同一个方法中  
  8.     使用的方法为无参数的      
  9.     样式表的使用  
  10. --> 
  11. <head> 
  12.  <title>  计算器  </title>    
  13. <style> 
  14.  .numberButton{width:40px;height:40px;color:#0000FF;font-size:36px}  
  15.  .operatorButton{width:40px;height:40px;color:#FF0000;font-size:36px}  
  16.  .textButton{width:170;text-align:right;}  
  17.  <!--使用样式表:位数字按钮,操作符按钮,文本框分别设置一个样式--> 
  18. </style> 
  19. <script language="javascript"> 
  20.  //操作数和操作符是整个程序运行的全局变量所以在方法实现的前面定义  
  21.  var operatorNumber1;  
  22.  var operatorNumber2;  
  23.  var operator;  
  24.  var result;  
  25.  //这里实现点击数字和Dot符号按扭等获取事件源  
  26.  
  27.  function   Click()  
  28.  {  
  29.   var control=event.srcElement;  
  30.   var x=control.value;  
  31.   //上面是获取事件源,得到事件按钮的值  
  32.   var s=textResult.value;  
  33.   //上面是获取当前的文本框的内容  
  34.   var index=s.indexOf('.');  
  35.   //在字符串中查看是否已经存在 【.】使用内置函数,如果不存在则返回-1;  
  36.   if(index!=-1 && x==".")//使得小数点之后能够继续输入  
  37.   {  
  38.    return ;  
  39.   }  
  40.   else if((x=='+')||(x=='-')||(x=='*')||(x=='/'))  
  41.   {  
  42.    //实现操作符的功能,当传入函数的字符为操作符的时候执行下面的操作  
  43.    /*  
  44.    记录当前的文本框内容为操作数operatorNumber1;  
  45.    记录点击的操作符按钮operator  
  46.    清理掉当前的文本框内容  
  47.    */  
  48.    operatorNumber1=textResult.value;  
  49.    operator=x;  
  50.    textResult.value="";  
  51.   }  
  52.   else if(x=='=')  
  53.   {   
  54.    //进行运算操作  operatorNumber2不能为零  
  55.    //拿到当前文本框中的内容作为operatorNumber2  
  56.    operatorNumber2=textResult.value;  
  57.    //得到操作数2后清理掉文本框中的内容;等待显示结果  
  58.    textResult.value="";  
  59.    var firstNumber=parseFloat(operatorNumber1);  
  60.    var secondNumber=parseFloat(operatorNumber2);  
  61.    if(operator=="+")  
  62.    {  
  63.     result=firstNumber+secondNumber;  
  64.    }  
  65.    else if(operator=="-")  
  66.    {  
  67.     result=firstNumber-secondNumber;  
  68.    }  
  69.    else if(operator=="*")  
  70.    {  
  71.     result=firstNumber*secondNumber;  
  72.    }  
  73.    else if(operator=="/")  
  74.    {  
  75.     if(secondNumber==0)  
  76.     {  
  77.      alert("除数不能为零!重新开始");  
  78.      return;  
  79.     }  
  80.     result=firstNumber/secondNumber;  
  81.    }  
  82.    textResult.value=result;  
  83.   }  
  84.   else  
  85.   {  
  86.    //将点击的按钮的值输入到文本框中  
  87.    //注释:在这里遇到一个问题,如果不用else就表示所有的判断完成之后,将必然执行后面的语句  
  88.    //这样导致的问题是文本框将是一个表达式显然不符合要求,所以数字的输入放在  
  89.    //else块中(相当于switch中的default)操作  
  90.    ss=s+x;  
  91.    textResult.value=s;    
  92.   }  
  93.  }  
  94. </script> 
  95. </head> 
  96. <body> 
  97. <p style="font-size:xx-large;text-align:center; color:#FF0000; font-family:Arial, Helvetica, sans-serif; font-style:oblique"> 计算器 旗舰版  </p> 
  98.    <div style="text-align:center"> 
  99.     <input type="text" id="textResult" class="textButton" value=""/> 
  100.     <table> 
  101.      <tr> 
  102.          <td> 
  103.         <input type="button" value="7" class="numberButton" onClick="Click();"/> 
  104.         <input type="button" value="8" class="numberButton" onClick="Click();"/> 
  105.         <input type="button" value="9" class="numberButton" onClick="Click();"/> 
  106.         <input type="button" value="/" class="operatorButton" onClick="Click();"/> 
  107.          </td> 
  108.         </tr> 
  109.         <tr> 
  110.          <td> 
  111.         <input type="button" value="4" class="numberButton" onClick="Click();"/> 
  112.         <input type="button" value="5" class="numberButton" onClick="Click();"/> 
  113.         <input type="button" value="6" class="numberButton" onClick="Click();"/> 
  114.         <input type="button" value="*" class="operatorButton" onClick="Click();"/> 
  115.             </td> 
  116.         </tr> 
  117.         <tr> 
  118.          <td> 
  119.         <input type="button" value="1" class="numberButton" onClick="Click();"/> 
  120.         <input type="button" value="2" class="numberButton" onClick="Click();"/> 
  121.         <input type="button" value="3" class="numberButton" onClick="Click();"/> 
  122.         <input type="button" value="-" class="operatorButton" onClick="Click();"/> 
  123.             </td> 
  124.         </tr> 
  125.         <tr> 
  126.          <td> 
  127.         <input type="button" value="0" class="numberButton" onClick="Click();"/> 
  128.         <input type="button" value="." class="numberButton" onClick="Click();"/> 
  129.         <input type="button" value="+" class="operatorButton" onClick="Click();"/> 
  130.         <input type="button" value="=" class="operatorButton" onClick="Click();"/> 
  131.             </td> 
  132.         </tr> 
  133.     </table> 
  134.     </div>   
  135. </body> 
  136. </html> 
  137.    

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值