<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>计算器的实现</title>
<style>
.calculator{
width: 500px;
min-height:500px;
}
.resulte,.content{
width:100%;
}
.content {
display: flex;
margin-top: 20px;
}
.content .left,.content .right{
flex:1;
}
.content .left{
border: 1px solid red;
}
.content .right{
border:1px solid blue;
}
button,.num-input{
width: 50px;
height: 50px;
font-size: 18px;
}
</style>
</head>
<body>
<div class="calculator">
<div class="resulte">
<input type="text" id="process">
<input type="text" placeholder="计算结果" id="result"/>
</div>
<div class="content">
<div class="left">
<input class="num-input" type="button" onclick="cal(this)"/>
<input class="num-input" type="button" onclick="cal(this)"/>
<input class="num-input" type="button" onclick="cal(this)"/>
<input class="num-input" type="button" onclick="cal(this)"/>
<input class="num-input" type="button" onclick="cal(this)"/>
<input class="num-input" type="button" onclick="cal(this)"/>
<input class="num-input" type="button" onclick="cal(this)"/>
<input class="num-input" type="button" onclick="cal(this)"/>
<input class="num-input" type="button" onclick="cal(this)"/>
</div>
<div class="right">
<button onclick="operate(this)" >+</button>
<button onclick="operate(this)">-</button>
<button onclick="operate(this)">*</button>
<button onclick="operate(this)">/</button>
<button onclick="operateResult(this)">=</button>
<button onclick="del(this)">del</button>
</div>
</div>
</div>
<script>
window.onload=function(){
// 产生0-9的随机数 num.splice 返回新数组,原数组本身也发生变化
//为什么一定要*数组的长度
var num = [0,1,2,3,4,5,6,7,8,9];
var random_array=[];
while(num.length>0){
var random_num ='';
random_num = num.splice(parseInt(Math.random()*num.length),1)[0];
random_array.push(random_num);
}
var num_dom = document.getElementsByClassName("num-input");
for(var i=0;i<num_dom.length;i++ ){
num_dom[i].value = random_array[i];
}
document.getElementById("process").focus();
}
//
function cal(e){
var process_dom = document.getElementById("process");
process_dom.value+=e.value;
}
function operate(e){
var process_dom = document.getElementById("process");
process_dom.value+=e.innerHTML;
}
function operateResult(e){
var res = document.getElementById("result");
var process_dom = document.getElementById("process")
res.value=eval(process_dom.value);
}
// document.getElementById("add").onclick=function(){
// alert(this.innerHTML)
// }
function del(e){
var process_dom = document.getElementById("process");
process_dom.value = process_dom.value.substring(0,process_dom.value.length-1);
document.getElementById("process").focus();
}
</script>
</body>
</html>