js實(shí)現(xiàn)簡(jiǎn)單的計(jì)算器功能
話(huà)不多說(shuō),請(qǐng)看示例代碼:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>簡(jiǎn)單的計(jì)算器</title>
<style>
* {
margin: 0 auto;
padding: 0px;
}
html, body {
width: 100%;
height: 100%;
}
a {
text-decoration: none;
}
.wrap {
width: 30%;
min-width: 250px;
margin: 0 auto;
border: 1px solid #b1b1b1;
}
.wrap .screen {
width: 100%;
height: 150px;
background-color: #8d8d8d;
}
.wrap .screen .string {
height: 100%;
user-select: none;
font-size: 30px;
word-break: break-all;
}
.wrap .button-group {
width: 100%;
margin-top: 5px;
}
.wrap .button-group td {
width: 25%;
}
.wrap .button-group td a {
display: inline-block;
height: 80px;
text-align: center;
background-color: #d5d5d5;
color: #000;
line-height: 80px;
font-size: 25px;
width: 100%;
user-select: none;
}
.wrap .button-group td a:hover {
background-color: #9d9d9d;
color: #002a80;
}
.wrap .button-group td a.active {
background-color: red;
}
</style>
</head>
<body>
<div class="wrap">
<div class="screen">
<p class="string"></p>
</div>
<div class="button-group">
<table cellspacing="5" cellpadding="10" border="0" width="100%">
<tr>
<td><a href="javascript:void(0);">7</a></td>
<td><a href="javascript:void(0);">8</a></td>
<td><a href="javascript:void(0);">9</a></td>
<td><a href="javascript:void(0);">*</a></td>
</tr>
<tr>
<td><a href="javascript:void(0);">4</a></td>
<td><a href="javascript:void(0);">5</a></td>
<td><a href="javascript:void(0);">6</a></td>
<td><a href="javascript:void(0);">/</a></td>
</tr>
<tr>
<td><a href="javascript:void(0);">1</a></td>
<td><a href="javascript:void(0);">2</a></td>
<td><a href="javascript:void(0);">3</a></td>
<td><a href="javascript:void(0);">+</a></td>
</tr>
<tr>
<td><a href="javascript:void(0);">DEL</a></td>
<td><a href="javascript:void(0);">0</a></td>
<td><a href="javascript:void(0);" class="active">=</a></td>
<td><a href="javascript:void(0);">-</a></td>
</tr>
</table>
</div>
</div>
<script>
var numString = document.getElementsByClassName("string")[0];
var buttonGroup = document.getElementsByTagName("a");
var screen = document.getElementsByClassName("string")[0];
var num1 = 0;
var num2 = 0;
var count = 0;
var f;
var flag = true;
/*控制輸入的是數(shù)字*/
var flag2 = true;
/*控制是否連續(xù)點(diǎn)擊符號(hào)*/
screen.onclick = function () {
numString.innerHTML = "";
};
for (var i = 0; i < buttonGroup.length; i++) {
buttonGroup[i].onclick = function () {
switch (this.innerHTML) {
case "0":
case "1":
case "2":
case "3":
case "4":
case "5":
case "6":
case "7":
case "8":
case "9":
if (!flag) {
numString.innerHTML = "";
flag2 = true;
}
flag = true;
numString.innerHTML += this.innerHTML;
break;
case "DEL":
numString.innerHTML = numString.innerHTML.substr(0, numString.innerHTML.length - 1);
break;
case "+":
case "-":
case "*":
case "/":
f = this.innerHTML;
count++;
if (flag2) {
flag = false;
/*控制輸入的是符號(hào)*/
if (count == 1) {
num1 = numString.innerHTML;
} else {
flag2 = false;
num2 = numString.innerHTML;
numString.innerHTML = eval(num1 + f + num2);
num1 = numString.innerHTML;
}
}
break;
case "=":
num2 = numString.innerHTML;
numString.innerHTML = eval(num1 + f + num2);
count = 0;
flag = !flag;
break;
}
}
}
</script>
</body>
</html>
以上就是本文的全部?jī)?nèi)容,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來(lái)一定的幫助,同時(shí)也希望多多支持腳本之家!
相關(guān)文章
JavaScript實(shí)現(xiàn)表格點(diǎn)擊排序的方法
這篇文章主要介紹了JavaScript實(shí)現(xiàn)表格點(diǎn)擊排序的方法,可實(shí)現(xiàn)點(diǎn)擊頂部數(shù)據(jù)項(xiàng)標(biāo)題實(shí)現(xiàn)對(duì)應(yīng)數(shù)據(jù)列的排序效果,涉及javascript鼠標(biāo)事件及數(shù)據(jù)排序的技巧,需要的朋友可以參考下2015-05-05
js+for循環(huán)實(shí)現(xiàn)字符串自動(dòng)轉(zhuǎn)義的代碼(把后面的字符替換前面的字符)
這段代碼是從網(wǎng)上看到的一段不錯(cuò)的代碼,用for命令實(shí)現(xiàn)字符串的轉(zhuǎn)移,而且使用的是for循環(huán)直接將后面的字符替換成前面的字符,這個(gè)邏輯以前沒(méi)試過(guò)2020-12-12
JavaScript新增的兩個(gè)原始數(shù)據(jù)類(lèi)型詳解(Record和Tuple)
js中原始數(shù)據(jù)類(lèi)型有Number、String、Boolean、Null、Undefined、Symbol (ES6引入的數(shù)據(jù)類(lèi)型),引用的數(shù)據(jù)類(lèi)型有Object,Array,Function,下面這篇文章主要給大家介紹了關(guān)于JavaScript新增兩個(gè)原始數(shù)據(jù)類(lèi)型(Record和Tuple)的相關(guān)資料,需要的朋友可以參考下2022-03-03
JS匿名函數(shù)內(nèi)部this指向問(wèn)題詳析
這篇文章主要給大家介紹了關(guān)于JS匿名函數(shù)內(nèi)部this指向的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用JS具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-05-05
JavaScript實(shí)現(xiàn)經(jīng)緯度轉(zhuǎn)換成地址功能
這篇文章主要介紹了JavaScript實(shí)現(xiàn)經(jīng)緯度轉(zhuǎn)換成地址,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2017-03-03

