<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
本文範例為大家分享了JavaScript仿windows計算器的具體程式碼,供大家參考,具體內容如下
名稱:仿windows計算器功能:
1、實現單擊按鈕錄入數位
2、實現基礎四則運算功能,並新增必要的例外處理,例如,除數為0
3、實現小數點功能並新增例外處理:小數點只能出現一次
4、實現正負號功能
5、實現退位功能,已經是最後一位時,顯示框顯示為0
6、清屏功能
使用的知識點:
1、利用大量的自定義函數實現業務邏輯
2、靈活運用事件及事件處理
3、培養例外處理的程式設計方法
4、培養並實踐利用不同思路實現程式設計
綜合練習的目的:
1、將css、 html和js有效的進行技術組合,實現業務功能
2、鍛鍊和培養程式設計思想,解決問題的能力和方法
3、鍛鍊和培養利用多種程式設計思路,完成預先設定的目標
成品效果圖:
html頁面:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>計算器</title> <link rel="stylesheet" type="text/css" href="計算器.css"> <script type="text/javascript" src="計算器.js"></script> <!-- <script type="text/javascript" src="js/mooc.js"></script> --> </head> <body onload="init()"> <div id="div1"> <!-- form與後臺進行傳遞 --> <div id="div2"> <input type="text" name="num" id="num"> </div> <div id="div3"> <input type="button" value="c" name="" id=""> <input type="button" value="←" name="" id=""> <input type="button" value="+/-" name="" id=""> <input type="button" value="÷" name="" id=""> <input type="button" value="1" name="" id=""> <input type="button" value="2" name="" id=""> <input type="button" value="3" name="" id=""> <input type="button" value="×" name="" id=""> <input type="button" value="4" name="" id=""> <input type="button" value="5" name="" id=""> <input type="button" value="6" name="" id=""> <input type="button" value="-" name="" id=""> <input type="button" value="7" name="" id=""> <input type="button" value="8" name="" id=""> <input type="button" value="9" name="" id=""> <input type="button" value="+" name="" id=""> <input type="button" value="0" name="" id="btn2"> <input type="button" value="." name="" id=""> <input type="button" value="=" name="" id=""> <!-- <input type="button" value="m" name="" id="imooc" > --> </div> </div> </body> </html>
css頁面:
*{ margin: 0px; padding: 0px; } div{ width: 220px; border-radius: 5px; } #div1{ top: 60px; left: 100px; position: relative; background-image: url(image/7.png); background-size: 108%; } input[type="button"]{ position: relative; left: 3px; top: 3px; width: 40px; height: 30px; margin: 5px ; border: 5px; /*圓弧度*/ border-radius: 10px; font-size: 20px; /*不透明度*/ opacity:0.85; } input[type="text"]{ width: 205px; height: 30px; position: relative; top: 3px; left: 8px; font-size: 20px; text-align: right; background-color: #ffffff; /*border: 1px solid;*/ /*不延伸,用已存在的*/ box-sizing: border-box; padding-right: 5px; } #btn2{ width: 93px; } /*偽類:產生浮動,銀灰色*/ input[type="button"]:hover{ background-color: silver; }
js頁面:
function init(){ var num=document.getElementById("num"); num.value=0; num.disabled="disabled";//不能輸入 // 通過標籤獲取input的陣列,進行遍歷,通過this.value輸出單擊當前按鈕的值 // 事件新增 var objButton=document.getElementsByTagName("input"); var btn_num1;//中間變數 var fh;//加減乘除符號 for(var i=0;i<objButton.length;i++){ objButton[i].onclick=function(){ if(isNumber(this.value)){ // num.value=(num.value+this.value)*1; if(isNull(num.value)){ num.value=this.value; }else{ num.value=num.value+this.value; } }else{ var btn_num=this.value; // var btn_num1; switch(btn_num){ case "+": btn_num1=Number(num.value); num.value=0; fh="+"; break; case "-": btn_num1=Number(num.value); num.value=0; fh="-"; break; case "×": btn_num1=Number(num.value); num.value=0; fh="×"; break; case "÷": btn_num1=Number(num.value); num.value=0; fh="÷"; break; case ".": // 自定義函數(規則),判斷是否有小數點 num.value=dec_number(num.value); break; case "←": num.value=back(num.value); break; case "c": num.value=0; break; case "+/-": num.value=sign(num.value); break; case "=": switch(fh){ case "+": num.value=btn_num1+Number(num.value); break; case "-": num.value=btn_num1-Number(num.value); break; case "×": num.value=btn_num1*Number(num.value); break; case "÷": if(Number(num.value)==0){ alert("除數不能為0"); }else{ num.value=btn_num1/Number(num.value); } break; } break; } } } } } // 正負號 function sign(n){ //乘以-1 n=Number(n)*-1; return n; } // 退位,若只有一位,先進行擷取 function back(n){ n=n.substr(0,n.length-1); if(isNull(n)){ n=0; } return n; } // 小數點 function dec_number(n){ // 小數點不存在 if(n.indexOf(".")==-1){ n=n+"."; } return n; } // 驗證文字方塊是否為空或者0 function isNull(n){ if(n=="0" || n.length==0){ return true; }else{ return false; } } // isNaN判斷是否轉換為數位-->可以為false,不能為true function isNumber(n){ return !isNaN(n); }
網頁效果圖:
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援it145.com。
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45