<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<style>
table{
width: 800px;
height: 700px;
margin: auto;
background-color: rgb(250, 247, 244);
text-align: center;
/* 合并边框 */
border-collapse: collapse;
font-weight: bolder;
font-size: 25px;
padding: 10px;
border: 1px solid rgb(194, 190, 190);
}
td{
border: 1px solid rgb(194, 190, 190);
}
.fuhao{
color: chocolate;
}
.tr1{
height: 50px;
}
.tr2{
height: 150px;
}
tr{
height: 100px;
}
#td{
background-color: rgb(230, 227, 227);
}
#content{
padding-right: 10px;
text-align: right;
}
#head{
text-align: right;
padding-right: 10px;
font-size: 20px;
}
</style>
<body>
<table>
<thead>
<tr class="tr1" >
<!-- colspan:合并单元格 -->
<td colspan="4" id="head"></td>
</tr>
<tr class="tr2">
<td colspan="4" id="content"></td>
</tr>
</thead>
<tbody>
<tr>
<td class="fuhao" id="td">(</td>
<td class="fuhao" id="td">)</td>
<td class="fuhao" id="td">%</td>
<td id="td">C</td>
</tr>
<tr>
<td>7</td>
<td>8</td>
<td>9</td>
<td class="fuhao" id="td">÷</td>
</tr>
<tr>
<td>4</td>
<td>5</td>
<td>6</td>
<td class="fuhao" id="td">×</td>
</tr>
<tr>
<td>1</td>
<td>2</td>
<td>3</td>
<td class="fuhao" id="td">-</td>
</tr>
<tr>
<td>0</td>
<td class="fuhao" id="td">.</td>
<td class="fuhao" id="td">=</td>
<td class="fuhao" id="td">+</td>
</tr>
</tbody>
</table>
<script>
let tbody_dom=document.querySelector('tbody')
let content_dom=document.querySelector('#content')
let head_dom=document.querySelector('#head')
tbody_dom.addEventListener('click',function(event){
//获取被点击td的内容
let td_dom= event.target//获取鼠标点击的目标
let value=td_dom.innerText
//内容框先输入的内容
let orginValue=content_dom.innerText
//先输入的拼接上后输入的
content_dom.innerText= orginValue+value
//点击等号在head框呈现内容框的内容,内容框中呈现计算结果
if(value=='='){
head_dom.innerText=orginValue+value
//在内容框呈现结果
orginValue=orginValue.replaceAll('×','*')
orginValue=orginValue.replaceAll('÷','/')
//核心是eval()函数
content_dom.innerText=eval(orginValue)
return;
}
//点击C全部清空
if(value.trim()=='C'){
content_dom.innerText=''
head_dom.innerText=''
return;
}
},false)
</script>
</body>
</html>
JS——实现简单计算器
最新推荐文章于 2024-08-11 01:47:13 发布