闲来无事写一个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>