JavaScript,ES6语法制作简易计算器
JavaScript,ES6语法制作计算器
- 1、先看效果:
- 2、HTML主体部分
- 3、css样式部分:
- 4、js部分
1、先看效果:
里面所需要的背景图片:
2、HTML主体部分
<div id="counter">
<h2>简易计算器</h2>
<div id="counter_content">
<h3><input id="input1" type="text" value="0" disabled="disabled" ></h3>
<ul>
<li onclick="addStr(7)">7</li>
<li onclick="addStr(8)">8</li>
<li onclick="addStr(9)">9</li>
<li onclick="addStr('+')">+</li>
<li onclick="addStr(4)">4</li>
<li onclick="addStr(5)">5</li>
<li onclick="addStr(6)">6</li>
<li onclick="addStr('-')">-</li>
<li onclick="addStr(1)">1</li>
<li onclick="addStr(2)">2</li>
<li onclick="addStr(3)">3</li>
<li onclick="addStr('*')">×</li>
<li onclick="addStr(0)">0</li>
<li onclick="clears()">C</li>
<li onclick="calc()">=</li>
<li onclick="addStr('/')">÷</li>
</ul>
</div>
<div id="bg"></div>
</div>
3、css样式部分:
* {
padding: 0;
margin: 0;
}
li {
list-style: none;
}
#counter {
width: 500px;
height: 320px;
margin: 50px auto 0;
position: relative;
border: 1px solid green;
}
#counter h2 {
line-height: 30px;
padding-left: 15px;
font-size: 14px;
font-family: arial;
color: #000;
}
#counter a {
font-weight: normal;
text-decoration: none;
color: #fff;
}
#counter a:hover {
text-decoration: underline;
}
#bg {
width: 280px;
height: 200px;
border: 3px solid #680023;
background: #990033;
filter: alpha(opacity=80);
opacity: 0.8;
position: absolute;
left: 50%;
top: 60px;
margin-left: -141px;
}
#counter_content {
width: 250px;
position: absolute;
top: 80px;
left: 130px;
z-index: 1;
}
#counter_content h3 {
margin-bottom: 10px;
}
#counter_content h3 input {
border: none;
width: 223px;
height: 30px;
line-height: 30px;
padding: 0 10px;
background: url(../images/ico.png) no-repeat;
text-align: right;
color: #333;
font-size: 14px;
font-weight: bold;
}
#counter_content ul {
width: 250px;
}
#counter_content li {
width: 60px;
height: 30px;
line-height: 30px;
float: left;
background: url(../images/ico.png) no-repeat -303px 0;
text-align: center;
color: #fff;
cursor: pointer;
margin: 0 1px 4px 0;
}
#counter_content .active {
background: url(../images/ico.png) no-repeat -243px 0;
}
#counter p {
width: 500px;
position: absolute;
bottom: 20px;
left: 0;
color: #ff3333;
text-align: center;
font-size: 12px;
}
4、js部分
<script>
function addStr(s){
//获取input 给他添加字符
let inp = document.getElementById("input1");
inp.value = inp.value + s;
//inp 现在的值等于原来的值+s
//去除首个零
let inpv = inp.value;
let arr = inpv.split("");
if(arr[0] == "0"){
arr.shift();
inpv = arr.join("");
inp.value = inpv;
}
}
//进行计算
function calc(){
let inp = document.getElementById("input1");
//这里用到了eval函数
let val = eval(inp.value);
//把文本框里面的值当js计算一下赋值给val
inp.value = val;
}
//归零键
function clears(){
let inp = document.getElementById("input1");
inp.value = "0";
}
</script>
还没有评论,来说两句吧...