js實(shí)現(xiàn)簡單的計(jì)算器功能
話不多說,請看示例代碼:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>簡單的計(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)擊符號*/ 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; /*控制輸入的是符號*/ 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>
以上就是本文的全部內(nèi)容,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作能帶來一定的幫助,同時(shí)也希望多多支持腳本之家!
相關(guān)文章
uniapp頁面通訊講解之uni.$emit、uni.$on、uni.$once和uni.$off
uni-app?是一個(gè)使用vue.js開發(fā)所有前端應(yīng)用的框架,下面這篇文章主要給大家介紹了關(guān)于uniapp頁面通訊之uni.$emit、uni.$on、uni.$once和uni.$off的相關(guān)資料,需要的朋友可以參考下2022-09-09js+canvas實(shí)現(xiàn)繪制正方形并插入文字效果(居中顯示)
canvas是一個(gè)可以讓我們使用腳本繪圖的標(biāo)簽,它提供了一系列完整的屬性和方法,下面這篇文章主要給大家介紹了js+canvas實(shí)現(xiàn)繪制正方形并插入文字居中顯示效果的相關(guān)資料,需要的朋友可以參考下2023-11-11原生JS實(shí)現(xiàn)圖片無縫滾動方法(附帶封裝的運(yùn)動框架)
下面小編就為大家?guī)硪黄鶭S實(shí)現(xiàn)圖片無縫滾動方法(附帶封裝的運(yùn)動框架)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-10-10JavaScript如何使用Promise實(shí)現(xiàn)分批處理接口請求
當(dāng)我們在開發(fā)時(shí)遇到需要同時(shí)發(fā)起百條接口請求怎么辦呢,本文主要來和大家介紹一下JavaScript如何使用Promise實(shí)現(xiàn)分批處理接口請求,需要的可以參考下2024-03-03OpenLayer實(shí)現(xiàn)自定義坐標(biāo)點(diǎn)的繪制
OpenLayers?是一個(gè)專為Web?GIS?客戶端開發(fā)提供的JavaScript?類庫包,用于實(shí)現(xiàn)標(biāo)準(zhǔn)格式發(fā)布的地圖數(shù)據(jù)訪問。本文將利用OpenLayer實(shí)現(xiàn)自定義坐標(biāo)點(diǎn)的繪制,感興趣的可以了解一下2022-04-04詳解JS構(gòu)造函數(shù)中this和return
本文通過實(shí)例代碼給大家介紹了JS構(gòu)造函數(shù)中this和return,需要的朋友參考下吧2017-09-09整理的比較全的event對像在ie與firefox瀏覽器中的區(qū)別
event對像在IE與FF中的區(qū)別,本文整理了很多,個(gè)人感覺還是比較全面的,需要的朋友可以收藏下2013-11-11