JavaScript制作簡(jiǎn)單計(jì)算器功能
本文實(shí)例為大家分享了JavaScript制作簡(jiǎn)單計(jì)算器的具體代碼,供大家參考,具體內(nèi)容如下
1. 任務(wù)要求
1)掌握數(shù)據(jù)的類(lèi)型轉(zhuǎn)換
2)學(xué)會(huì)獲取文本框控件的數(shù)據(jù)以及給相應(yīng)控件賦值
3)掌握有參函數(shù)的定義
4)學(xué)會(huì)使用數(shù)值判斷函數(shù)
5)學(xué)會(huì)使用eval()方法編譯字符串算式
2. 需求說(shuō)明
完成如下圖所示的計(jì)算器,在頁(yè)面單擊數(shù)字和運(yùn)算符能實(shí)現(xiàn)相應(yīng)運(yùn)算,單擊AC可以實(shí)現(xiàn)清除屏幕內(nèi)容。

3. 實(shí)現(xiàn)思路
1)在TNumber函數(shù)里實(shí)現(xiàn)對(duì)輸入的數(shù)據(jù)進(jìn)行累加,以便后面計(jì)算結(jié)果。
2)同時(shí)可以定義一個(gè)sum,將點(diǎn)擊的每個(gè)按鈕值進(jìn)行累加,以便最后可以輸出式子。
3)在Clear函數(shù)里實(shí)現(xiàn)點(diǎn)擊“AC”按鈕對(duì)txt進(jìn)行清空,以及將sum=“”設(shè)為空。
4)在計(jì)算結(jié)果Calculator函數(shù)里使用eval()函數(shù)計(jì)算最終結(jié)果。
4.實(shí)現(xiàn)思路(JS部分的代碼)
<script type="text/javascript">
?? ?var sum="";
?? ?function TNumber(value){
?? ??? ?document.getElementById("txt").value+=value;
?? ??? ?sum+=value;
?? ?}
?? ?function Clear(){
?? ??? ?document.getElementById("txt").value="";
?? ??? ?sum="";
?? ??? ?sum1="";
?? ?}
?? ?function Calculator(){
?? ??? ?document.getElementById("txt").value=sum+"="+eval(sum);
?? ?}
</script>5. 運(yùn)行結(jié)果

6. 全部代碼(其中的圖片需要注意一下)
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>計(jì)算器</title>
?? ?<style type="text/css">
?? ??? ?#calculator
?? ??? ?{
?? ??? ??? ?margin: 0 auto;
?? ??? ??? ?border: #000 ?2px solid;
?? ??? ??? ?border-radius: 15px 15px 15px 15px;
?? ??? ??? ?width: 300px;
?? ??? ??? ?height: 460px;
?? ??? ??? ?background-image: url(img/background5.jpg);//url圖片需要自己設(shè)定
?? ??? ?}
?? ??? ?#hiddentxt
?? ??? ?{
?? ??? ??? ?height: 100px;
?? ??? ?}
?? ??? ?#txt
?? ??? ?{
?? ??? ??? ?width: 88%;
?? ??? ??? ?height: 80px;
?? ??? ??? ?border-radius: 12px 12px 12px 12px;
?? ??? ??? ?font-size: 24px;
?? ??? ??? ?font-weight: bold;
?? ??? ??? ?background: #F4F4F4;
?? ??? ??? ?color: #080808;
?? ??? ??? ?border: black 5px solid;
?? ??? ??? ?margin-top: 15px;
?? ??? ??? ?margin-left:12px;
?? ??? ??? ?font-family: "Comic Sans MS", "Leelawadee UI";
?? ??? ?}
?? ??? ?input[type=button]
?? ??? ?{
?? ??? ??? ?width: 56px;
?? ??? ??? ?height: 56px;
?? ??? ??? ?margin-top: 10px;
?? ??? ??? ?margin-left: 13px;
?? ??? ??? ?border-radius: 10px;
?? ??? ??? ?font-size: 20px;
?? ??? ??? ?font-weight: bold;
?? ??? ??? ?background: #fff;
?? ??? ??? ?font-family:"Comic Sans MS";
?? ??? ?}
?? ??? ?#Zero,#AC
?? ??? ?{
?? ??? ??? ?width: 129px;
?? ??? ?}
?? ??? ?input[type=button]:hover
?? ??? ?{
?? ??? ??? ?color: #fff;
?? ??? ??? ?background: #000;
?? ??? ??? ?animation-name:mybutton;
?? ??? ??? ?animation-duration: 0.8s;
? ? ? ??? ? ? ?animation-timing-function:ease-in-out;
?? ??? ?}
?? ??? ?@keyframes mybutton
?? ??? ?{
?? ??? ??? ?0%
?? ??? ??? ?{
?? ??? ??? ??? ?background: #fff;
?? ??? ??? ??? ?color: #000;
?? ??? ??? ?}
?? ?
?? ??? ??? ?100%
?? ??? ??? ?{
?? ??? ??? ??? ?background:#000;
?? ??? ??? ??? ?color: #fff;
?? ??? ??? ?}
?? ??? ?}
?? ?</style>
</head>
?
<body>
?? ?<div id="calculator">
?? ??? ?
?? ?<input type="text" id="txt" ?readonly><br>
?? ?<input type="button" id="AC" value="AC" onClick="Clear()">
?? ?<input type="button" ?onClick="TNumber(this.value)" value="/">
?? ?<input type="button" ?onClick="TNumber(this.value)" value="%">
?? ?<br>
?? ??? ?
?? ?<input type="button" id="Seven" onClick="TNumber(this.value)" value="7">
?? ?<input type="button" id="Eight" onClick="TNumber(this.value)" value="8">
?? ?<input type="button" id="Nine" onClick="TNumber(this.value)" value="9">
?? ?<input type="button" ?onClick="TNumber(this.value)" value="+">
?? ?<br>
?? ??? ?
?? ?<input type="button" id="Four" ?onClick="TNumber(this.value)" value="4">
?? ?<input type="button" id="Five" onClick="TNumber(this.value)" value="5">
?? ?<input type="button" id="Six" onClick="TNumber(this.value)" value="6">
?? ?<input type="button" ?onClick="TNumber(this.value)" value="-">
?? ?<br>
?? ??? ?
?? ?<input type="button" id="One" ?onClick="TNumber(this.value)" value="1" >
?? ?<input type="button" id="Two" ?onClick="TNumber(this.value)" value="2" ?>
?? ?<input type="button" id="Three" onClick="TNumber(this.value)" value="3">
?? ?<input type="button" ?onClick="TNumber(this.value)" value="*">
?? ?<br>
?
?? ?<input type="button" id="Zero" onClick="TNumber(this.value)" value="0">
?? ?<input type="button" id="Dot" onClick="TNumber(this.value)" value=".">
?? ?<input type="button" ?onClick="Calculator()" value="=">
?? ??? ?
?? ?</div>
?? ?
?? ?<script type="text/javascript">
?? ??? ?var sum="";
?? ??? ?function TNumber(value){
?? ??? ??? ?document.getElementById("txt").value+=value;
?? ??? ??? ?sum+=value;
?? ??? ?}
?? ??? ?function Clear(){
?? ??? ??? ?document.getElementById("txt").value="";
?? ??? ??? ?sum="";
?? ??? ??? ?sum1="";
?? ??? ?}
?? ??? ?function Calculator(){
?? ??? ??? ?document.getElementById("txt").value=sum+"="+eval(sum);
?? ??? ?}
?? ?</script>
</body>
</html>以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- javascript寫(xiě)的簡(jiǎn)單的計(jì)算器,內(nèi)容很多,方法實(shí)用,推薦
- js實(shí)現(xiàn)簡(jiǎn)單計(jì)算器
- 簡(jiǎn)易js代碼實(shí)現(xiàn)計(jì)算器操作
- html+js實(shí)現(xiàn)簡(jiǎn)單的計(jì)算器代碼(加減乘除)
- js實(shí)現(xiàn)一個(gè)簡(jiǎn)易計(jì)算器
- 用JS寫(xiě)的簡(jiǎn)單的計(jì)算器實(shí)現(xiàn)代碼
- javascript-簡(jiǎn)單的計(jì)算器實(shí)現(xiàn)步驟分解(附圖)
- 純javascript代碼實(shí)現(xiàn)計(jì)算器功能(三種方法)
- Vue.js實(shí)現(xiàn)的計(jì)算器功能完整示例
- js網(wǎng)頁(yè)版計(jì)算器的簡(jiǎn)單實(shí)現(xiàn)
相關(guān)文章
JavaScript對(duì)象_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理
這篇文章主要為大家詳細(xì)介紹了JavaScript對(duì)象的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-06-06
js獲取瀏覽器的可視區(qū)域尺寸的實(shí)現(xiàn)代碼
js獲取瀏覽器的可視區(qū)域尺寸的實(shí)現(xiàn)代碼,需要的朋友可以參考下。2011-11-11
JS實(shí)現(xiàn)網(wǎng)頁(yè)標(biāo)題欄顯示當(dāng)前時(shí)間和日期的完整代碼
這篇文章主要介紹了JS實(shí)現(xiàn)網(wǎng)頁(yè)標(biāo)題欄顯示當(dāng)前時(shí)間和日期的方法,涉及JavaScript日期時(shí)間函數(shù)及網(wǎng)頁(yè)標(biāo)題欄操作的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-11-11
javascript設(shè)計(jì)模式 – 職責(zé)鏈模式原理與用法實(shí)例分析
這篇文章主要介紹了javascript設(shè)計(jì)模式 – 職責(zé)鏈模式,結(jié)合實(shí)例形式分析了javascript職責(zé)鏈模式相關(guān)概念、原理、用法及操作注意事項(xiàng),需要的朋友可以參考下2020-04-04
JavaScript實(shí)現(xiàn)異步任務(wù)循環(huán)順序執(zhí)行詳解
這篇文章主要為大家詳細(xì)介紹了JavaScript中實(shí)現(xiàn)異步任務(wù)循環(huán)順序執(zhí)行的方法,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下2023-03-03
原生JS實(shí)現(xiàn)的簡(jiǎn)單輪播圖功能【適合新手】
這篇文章主要介紹了原生JS實(shí)現(xiàn)的簡(jiǎn)單輪播圖功能,結(jié)合實(shí)例形式分析了基于javascript定時(shí)器控制頁(yè)面元素動(dòng)態(tài)變換實(shí)現(xiàn)輪播圖的相關(guān)操作技巧,需要的朋友可以參考下2018-08-08
原生js實(shí)現(xiàn)焦點(diǎn)輪播圖效果
本文主要分享了原生js實(shí)現(xiàn)焦點(diǎn)輪播圖效果的示例代碼,并解析了實(shí)例中的注意點(diǎn)。具有一定的參考價(jià)值,下面跟著小編一起來(lái)看下吧2017-01-01
JavaScript數(shù)組實(shí)現(xiàn)數(shù)據(jù)結(jié)構(gòu)中的隊(duì)列與堆棧
這篇文章主要介紹了JavaScript數(shù)組實(shí)現(xiàn)數(shù)據(jù)結(jié)構(gòu)中的隊(duì)列與堆棧的相關(guān)資料,需要的朋友可以參考下2016-05-05

