這篇文章給大家分享的內容是如何用JS來產生一個簡單計算機,有著一定的參考價值,有需要的朋友可以參考一下
第一步:html寫好結構
#用到p元素、table元素、input元素、button元素
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>js简单计算器</title> <link rel="stylesheet" href="counter.css"> </head> <body> <p> <table> <tr> <td colspan="4"><input type="text" id="input" value="0"></td> </tr> <tr> <td colspan="2"><button class="click" id="reset">C</button></td> <td colspan="2"><button class="click" id="reset1">D</button></td> </tr> <tr> <td><button class="click">7</button></td> <td><button class="click">8</button></td> <td><button class="click">9</button></td> <td><button class="click">+</button></td> </tr> <tr> <td><button class="click">4</button></td> <td><button class="click">5</button></td> <td><button class="click">6</button></td> <td><button class="click">-</button></td> </tr> <tr> <td><button class="click">1</button></td> <td><button class="click">2</button></td> <td><button class="click">3</button></td> <td><button class="click">*</button></td> </tr> <tr> <td><button class="click">.</button></td> <td><button class="click">0</button></td> <td><button class="click">=</button></td> <td><button class="click">/</button></td> </tr> </table> </p> <script type="text/javascript" src="counter.js"></script> </body> </html>
#第二步:css新增樣式使用外部樣式連結counter.css
*{ margin: 0; padding: 0; } p{ width: 290px; height: 338px; margin: 20px auto; border: 1px solid black; } #input,#reset,.click{ text-align: center; font-size: 16px; font-weight: 700; } #input{ width: 282px; height: 50px; text-align: right; } #reset{ width: 142px; height: 50px; } #reset1{ width: 142px; height: 50px; } .click{ display: inline-block; width: 70px; height: 55px; }
#第三個步驟:新增js事件對電腦進行動作
想法:
用到的知識點:
indexOf()方法 傳回某個指定字串值在字串中首次出現的位置;
# stringObject.indexOf( substring,startpos)
join() 方法 用來把陣列中的所有元素放入一個字串。
#eval() 函數可計算某個字串,並執行其中的 JavaScript 程式碼;
语法:eval(string)
substr()方法从字符串中提取从startPos位置开始的指定数目的字符串;
语法:stringObject.substr(startPos,length)
代码:
/*获取操作对象*/ var key=false; var res=[]; var text=document.getElementById("input"); var btn=document.getElementsByClassName("click"); for(var i=0;i<btn.length;i++){ btn[i].onclick=function(){ var txt=this.innerHTML; /*按键情况分类*/ if(!isNaN(txt)||txt==".") { key=false; if(text.value==0 && txt!=".") { text.value=txt; } else/*(text.value==0&&txt==".")*/ { if(text.value.indexOf(".")!=-1)//indexOf()检索的字符串值没有出现,则该方法返回 -1; { if(txt!=".") { text.value+=txt; } } else { text.value+=txt; } } } else if(txt=='+'||txt=='-'||txt=='*'||txt=='/') { if(key) { if (isNaN(res[res.length-1])&&res.length>0) { res[res.length-1]=txt; return; } } key=true; res[res.length]=text.value; res[res.length]=txt; text.value=0; } else if(txt=='C') { res=[]; text.value=0; } else if(txt=='D') { text.value=text.value.substr(0,text.value.length-1); } else if(txt=='=') { res[res.length]=text.value; //text.value=eval(res.split(" ",res.length-1)); console.log(res);//输出分割后的数组 text.value=eval(res.join(""));//join("")字符串用空格分割,eval()字符串转化为数值,用数值运算赋给文本框 res=[]; } } }
以上是如何用JS來產生一個簡單計算機的詳細內容。更多資訊請關注PHP中文網其他相關文章!