闲来无事写一个jquery计算器,没有进行封装......

  1 <!doctype html>
  2 <html>
  3   <head>
  4     <meta charset="utf-8" />
  5     <title>jquery计算器http://www.cnblogs.com/boyzi/</title>
  6     <script src="js/jquery-1.8.2.min.js"></script>
  7     
  8   
  9   </head>
 10   <body>
 11 <div><input type="text" id="numText" /></div>
 12 <div>
 13     <input type="button" value='0' class="num0 num numSZ" />
 14     <input type="button" value='1' class="num1 num numSZ" />
 15     <input type="button" value='2' class="num2 num numSZ" />
 16     <input type="button" value='3' class="num3 num numSZ" />
 17     <input type="button" value='4' class="num4 num numSZ" />
 18     <input type="button" value='5' class="num5 num numSZ" />
 19     <input type="button" value='6' class="num6 num numSZ" />
 20     <input type="button" value='7' class="num7 num numSZ" />
 21     <input type="button" value='8' class="num8 num numSZ" />
 22     <input type="button" value='9' class="num9 num numSZ" />
 23     <input type="button" value='.' class="numP num numSZ" />
 24 </div>
 25 <div>
 26   <input type="button" value='+' class="numJA numYS num" />
 27   <input type="button" value='-' class="numJian numYS num" />
 28   <input type="button" value='*' class="numCh numYS num" />
 29   <input type="button" value='/' class="numChu numYS num" />
 30   <input type="button" value='=' class="numEq num" />
 31   <input type="button" value='C' class="numClear num" />
 32 </div>
 33   </body>
 34   <script type="text/javascript">
 35   $(function(){
 36    $(".numYS").click(function(){//运算符操作
 37        setFh($(this).val());
 38     });
 39 
 40     $(".numEq").click(function(){//运算符操作
 41       setFh("");
 42     });
 43 
 44     $(".numClear").click(function(){
 45       $("#numText").val(0)
 46     })
 47     $(".numSZ").click(function(){//单击数字执行方法
 48       var nowVal=$("#numText").val();
 49       if(nowVal>0){
 50         if(nowVal.indexOf(".")!=-1&&$(this).val()=="."){nowVal=nowVal;}
 51         else{nowVal=nowVal+""+$(this).val()+"";}
 52       }
 53       else{
 54         if(nowVal==null||nowVal==""){
 55             if($(this).val()=="."){nowVal=0;}
 56             else if(nowVal==0){
 57               if($(this).val()==0){nowVal=0;}
 58               else{nowVal=$(this).val();}
 59             }
 60           }
 61         else{
 62           
 63             if(nowVal==0&&$(this).val()=="0"&&nowVal.indexOf(".")==-1){nowVal=0;}
 64             else{
 65                   if($(this).val()=="."&&nowVal.indexOf(".")!=-1){
 66                      if(setFh("hasPat")[1].indexOf(".")!=-1){nowVal=nowVal;}
 67                      else{
 68                         if(setFh("hasPat")[1]==""||setFh("hasPat")[1]==null){nowVal=nowVal+"0.";}
 69                         else{nowVal=nowVal+$(this).val();}
 70                      }
 71                   }
 72               else{
 73                 if(nowVal==0&&$(this).val()!="."){
 74                   if(nowVal.indexOf(".")!=-1){nowVal="0."+$(this).val();}
 75                   else{nowVal=$(this).val();}
 76                 }
 77                 else{
 78                  
 79                   if(setFh("hasPat")[1].indexOf(".")!=-1){
 80                     nowVal=nowVal+""+$(this).val()+"";
 81                   }
 82                   else{
 83                     if(setFh("hasPat")[1]>0){nowVal=nowVal+""+$(this).val()+"";}
 84                     else{
 85                         if(setFh("hasPat")[1].indexOf("0")!=-1){
 86                           if($(this).val()==0){nowVal=nowVal;}
 87                           else{
 88                             if(setFh("hasPat")[1]==0&&$(this).val()!="."){
 89                                 nowVal=setFh("hasPat")[0]+setFh("Fh")+$(this).val();
 90                             }
 91                             else{
 92                               nowVal=nowVal+"0.";
 93                             }
 94                           
 95                           }
 96                         }
 97                         else{
 98                               if($(this).val()!="."){
 99                                 nowVal=nowVal+""+$(this).val()+"";
100                               }
101                               else{nowVal=nowVal+"0."}
102                             }
103                         }
104                       }
105                     }
106                   }
107                 }
108               }     
109             }
110         $("#numText").val(nowVal)
111     });
112 
113     
114 
115     function setYs(strFh,thisVal){//输入=运算符方法
116         var nowVal=$("#numText").val();
117         var str=nowVal.split(strFh); 
118 
119         var strEnd=str[1];
120 
121         if(strEnd==null||strEnd==""){
122           $("#numText").val(str[0]+""+thisVal+"");
123         }
124         else{
125            $("#numText").val(eval(str[0]+strFh+str[1])+""+thisVal+"");
126         }
127     }
128 
129     function setFh(tVal){//输入运算符方法
130        var nowVal=$("#numText").val();
131        var strFh="";
132        var returnStr="11";
133        if(nowVal>=0){
134           if(tVal!='hasPat'){
135             if(nowVal.indexOf(".")!=-1){
136               var nstr=nowVal.split(".");
137               if(nstr[1]>0){$("#numText").val(nowVal+""+tVal+"");}
138               else{$("#numText").val(nstr[0]+""+tVal+"");}
139             }
140             else if(tVal!="Fh"){$("#numText").val(nowVal+""+tVal+"");}
141           }
142         }
143 
144       else{
145         if(nowVal.indexOf("+")!=-1){strFh='+';}
146         else if(nowVal.indexOf("-")!=-1){strFh='-';}
147         else if(nowVal.indexOf("*")!=-1){strFh='*';}
148         else if(nowVal.indexOf("/")!=-1){strFh='/';}
149         var strArr1=nowVal.split(strFh);
150         if(tVal=='hasPat'){returnStr=strArr1;}
151         else{
152           if(tVal=="Fh"){returnStr=strFh;}
153           else{setYs(strFh,tVal);}
154       }
155     }
156 
157 
158       return returnStr;
159       }
160   });
161   </script>
162 </html>

 

posted @ 2016-09-21 15:55  落日知暮  阅读(317)  评论(0编辑  收藏  举报
作者:boyzi007 出处:http://www.cnblogs.com/boyzi/ QQ:470797533 QQ交流群:364307742 本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。