【js如何实现计算器功能js实现计算器功能吗】js如何实现计算器功能?js实现计算器功能的教程

时间:2020-12-15  来源:js教程  阅读:

该计算器功能:

1.校验:小数点,重复计算,以及大量更符合用户体验的操作。

2.能够从键盘输入。

效果图:

html代码:

Insert title here                                                                                                                                                                                                                                          <scripttype="text/javascript"src="./js/jquery-1.7.2.min.js"></script> <scripttype="text/javascript"src="./js/calcu.js"></script>

css代码:

@CHARSET"UTF-8"; .button {   width:73px;   height:50px;   margin-bottom:5px;   border:1pxsolid#ddd;   border-radius:1px;   font-weight:bold;   color:#1e395b;   background:aqua;   font-size:20px;   border-radius:3px; } .text {   width:300px;   border:1pxsolid#c2c2c2;   height:50px;   border-radius:5px;   font-size:24px;   text-align:right;   background:#ffffff;   margin-top:10px;   margin-bottom:10px; } .textShow{   width:300px;   border:1pxsolid#c2c2c2;   height:40px;   border-radius:5px;   font-size:18px;   text-align:right;   background:#ffffff;   margin-top:10px;   margin-bottom:10px; } .cal{ margin-left:200px; border:2pxsolid#99ccff; margin:100pxauto; position:relative; width:330px; height:420px; border-radius:10px; } .cont{  margin-left:10px; } .funcBtn{ padding-left:580px; border-radius:10px; font-size:20px; position:fixed; }

js代码:

/**  *  */     varcheckEqual =false;//Avoid repetition calcu     varopFlag =false;//Check repetition add operation     varupText = document.getElementById("upText");     varcal = document.getElementById("cal").style;     vardownText = document.getElementById("downText");            functionshow() {       cal.display ="block";     }            functionhide() {       cal.display ="none";     }            functionclearAllText() {       upText.value ="";       downText.value ="0";       opFlag =false;       checkEqual =false;     }            functionoppositeOp(){       downText.value = -downText.value;         }            functiondeleteOneDigit() {       downText.value = downText.value.substring(0, downText.value.length - 1);       if(downText.value ==""|| (downText.value.charAt(0) =="-"&& downText.value.charAt(1) =="")) {         downText.value ="0";         returndownText.value;       }       returndownText.value;     }            functionclickNum(num) {       if(num ==".") {                 checkIfAddPoint(num);       }else{         checkIfAddNum(num);       }       checkEqual =false;     }            functioncheckIfAddPoint(num) {       if((num=="."&& downText.value =="0") || opFlag ==true) {         downText.value="0.";         opFlag =false;       }elseif(num =="."&& downText.value.indexOf(".") > -1) {         downText.value;       }else{         downText.value += num;       }     }            functioncheckIfAddNum(num) {        if((num !="."&& downText.value =="0"&& downText.value[1] !=".")             || opFlag ==true             || downText.value =="Infinity"            || checkEqual ==true) {         downText.value = num;         opFlag =false;       }else{         downText.value += num;       }     }            functionclickOperation(op){       checkEqual =false;       downText.value = checkdownTextValid(downText.value);       downText.value = checkZero(upText.value,downText.value);       switch(op){       case"+":{            upText.value = appendupTextValue(upText.value,downText.value,"+");         opFlag =true;        }break;       case"-":{         upText.value = appendupTextValue(upText.value,downText.value,"-");         opFlag =true;        }break;       case"x":{         upText.value = appendupTextValue(upText.value,downText.value,"*");         opFlag =true;        }break;       case"/":{          upText.value = appendupTextValue(upText.value,downText.value,"/");         opFlag =true;        }break;       }     }            functioncheckdownTextValid(downText){       if(downText.charAt(downText.length-1) =="."){         returndownText.substring(0,downText.length-1);       }        returndownText;     }            functioncheckZero(upText,downText){       if(upText.charAt(upText.length-1) =="/"&& downText =="0"){         return"Error";       }       returndownText;     }            functionappendupTextValue(oldvalue,newvalue,operation){       if(oldvalue ==""){          returnoldvalue = newvalue+operation;       }elseif(opFlag!=true){          returnoldvaluee = oldvalue+newvalue+operation;        }else{         returnoldvalue.substring(0, oldvalue.length-1)+operation;       }     }            functioncalcu() {       if(!checkEqual){         downText.value = eval(upText.value+downText.value);       upText.value ="";       checkEqual =true;       }     }            window.document.onkeydown = chooseKey;     functionchooseKey(evt){       if(evt.keyCode == 13){alert("=");}       elseif(evt.keyCode == 8){deleteOneDigit();}       elseif(evt.keyCode == 27){clearAllText();}       elseif(evt.keyCode == 48){clickNum("0");}       elseif(evt.keyCode == 49){clickNum("1");}       elseif(evt.keyCode == 50){clickNum("2");}       elseif(evt.keyCode == 51){clickNum("3");}       elseif(evt.keyCode == 52){clickNum("4");}       elseif(evt.keyCode == 53){clickNum("5");}       elseif(evt.keyCode == 54){clickNum("6");}       elseif(evt.keyCode == 55){clickNum("7");}       elseif(evt.keyCode == 56){clickNum("8");}       elseif(evt.keyCode == 57){clickNum("9");}       elseif(evt.keyCode == 96){clickNum("0");}       elseif(evt.keyCode == 97){clickNum("1");}       elseif(evt.keyCode == 98){clickNum("2");}       elseif(evt.keyCode == 99){clickNum("3");}       elseif(evt.keyCode == 100){clickNum("4");}       elseif(evt.keyCode == 101){clickNum("5");}       elseif(evt.keyCode == 102){clickNum("6");}       elseif(evt.keyCode == 103){clickNum("7");}       elseif(evt.keyCode == 104){clickNum("8");}       elseif(evt.keyCode == 105){clickNum("9");}       elseif(evt.keyCode == 110){clickNum(".");}       elseif(evt.keyCode == 106){clickOperation("x");}       elseif(evt.keyCode == 107){clickOperation("+");}       elseif(evt.keyCode == 111){clickOperation("÷");}       elseif(evt.keyCode == 109){clickOperation("-");}

【js如何实现计算器功能js实现计算器功能吗】js如何实现计算器功能?js实现计算器功能的教程

http://m.bbyears.com/wangyezhizuo/116583.html

推荐访问:
相关阅读 猜你喜欢
本类排行 本类最新