• 闲来无事写一个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>
  • 相关阅读:
    操作SQL Server Mobile数据库的常用C#代码
    关于asp.net c#中对cookie的操作
    javascript的常用string操作——join,replace和replaceAll的实现
    类似google日历的web日历控件——FullCalendar
    javascript的常用string操作——join,replace和replaceAll的实现
    类似google日历的web日历控件——FullCalendar
    Axure RP 6.5中文汉化包及汉化方法
    在python中使用cx_Oracle模块出现“DLL Load failed”的处理方法
    在python中使用cx_Oracle模块出现“DLL Load failed”的处理方法
    Axure RP 6.5中文汉化包及汉化方法
  • 原文地址:https://www.cnblogs.com/boyzi/p/5892961.html
Copyright © 2020-2023  润新知