Html文件的代码
<!DOCTYPE html>
<html>
<head>
<title>Welcome Online Calculator!</title>
<link rel="stylesheet" type="text/css" href="calculator.css">
<script type="text/javascript" src="calculator.js"></script>
</head>
<body onload="initCalculator()">
<div class="div1">
<div class="div2">
<input type="text" name="numText" id="numText">
</div>
<div class="div3">
<input type="button" name="num" id="" value="c">
<input type="button" name="num" id="" value="←">
<input type="button" name="num" id="" value="+/-">
<input type="button" name="num" id="" value="/">
<input type="button" name="num" id="" value="1">
<input type="button" name="num" id="" value="2">
<input type="button" name="num" id="" value="3">
<input type="button" name="num" id="" value="*">
<input type="button" name="num" id="" value="4">
<input type="button" name="num" id="" value="5">
<input type="button" name="num" id="" value="6">
<input type="button" name="num" id="" value="-">
<input type="button" name="num" id="" value="7">
<input type="button" name="num" id="" value="8">
<input type="button" name="num" id="" value="9">
<input type="button" name="num" id="" value="+">
<input type="button" name="num" id="" value="0">
<input type="button" name="num" id="" value=".">
<input type="button" name="num" id="" value="=">
<input type="button" name="num" id="m" value="m">
</div>
</div>
</body>
</html>
Css文件的代码
*{
padding: 0px;
margin: 0px;
}
div{
}
.div1{
width: 180px;
top: 180px;
left: 180px;
position: absolute;
}
input[type = "text"]{
width: 148px;
text-align: right;
background-color: #ffffff;
border: 1px solid;
}
input[type = "button"]{
width: 30px;
margin-right: 5px;
}
input[type = "button"]:hover{
background-color: #00ffff;
}
Js文件的代码
function initCalculator(){
var numText = document.getElementById("numText");
numText.value = "0";
numText.disabled = "disabled";
var numButton = document.getElementsByTagName("input");
var preNumText;
var operator;
for(i = 0; i < numButton.length; i++){
numButton[i].onclick = function(){
if(isNumber(this.value)){
if(isNull(numText.value)){
numText.value = this.value;
}else{
numText.value = numText.value + this.value;
}
}else{
var btn_num = this.value;
switch(btn_num){
case "+":
preNumText = Number(numText.value);
numText.value = "";
operator = "+";
break;
case "-":
preNumText = Number(numText.value);
numText.value = "";
operator = "-";
break;
case "*":
preNumText = Number(numText.value);
numText.value = "";
operator = "*";
break;
case "/":
preNumText = Number(numText.value);
numText.value = "";
operator = "/";
break;
case ".":
numText.value = decNumber(numText.value);
break;
case "+/-":
numText.value = signChange(numText.value);
break;
case "c":
numText.value = "0";
break;
case "←":
numText.value = numBack(numText.value);
break;
case "=":
switch(operator){
case"+":
numText.value = preNumText + Number(numText.value);
break;
case"-":
numText.value = preNumText - Number(numText.value);
break;
case"*":
numText.value = preNumText * Number(numText.value);
break;
case"/":
if(Number(numText.value) == 0){
numText.value = "0";
alert("除数不能为0.");
}else{
numText.value = preNumText / Number(numText.value);
}
break;
}
break;
}
}
}
}
}
function isNumber(n){
return !isNaN(n);
}
function isNull(x){
return x == "0" || x.length == 0;
}
function decNumber(n){
if(n.indexOf(".") == -1){
n = n + ".";
}
return n;
}
function numBack(n){
n = n.substr(0, n.length-1);
if(isNull(n)){
n = "0";
}
return n;
}
function signChange(n){
n = Number(n)*-1;
return n;
}