计算器app如下:
学习了js和jquery,编写了一个计算器app。主要思路是将按键事件对应字符串存储,利用eval()方法进行执行,需要注意的时执行前要将x替换为*,÷替换为/。另外调整了一些CSS样式,模仿iPhone计算器的界面,源代码看嵌入的网页。
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>计算器</title> <style> *{margin: 0px;padding: 0px;} #main{background: #000;border-radius: 30px; height: 500px;width: 220px;margin: auto;} #result{width: 165px;height: 40px; margin: 60px 0px 5px 25px; border: 0px; background: #000;color: white;text-align: right;line-height: 40px;font-size: 40px;}
table{background: #000;border-spacing:6px ;margin: auto; } table input{width:40px ;height: 40px; text-align: center;background: rgb(49, 49, 49);border:solid 0px blac;border-radius: 20px; color: white;font-size: 20px; line-height: 40px;} table input:active{background: #fff;color: #000;} .btnf{background: rgb(246, 153, 6)} .btnf:active{background: rgb(246, 246, 246);color: rgb(246, 153, 6);} #cal{background: rgb(183, 45, 26);width: 80px;} #cal:active{background:rgb(246, 246, 246);color: rgb(183, 45, 26);} </style> <script type="text/javascript" src="https://code.jquery.com/jquery-3.1.1.min.js" ></script> <script> $(document).ready(function () { var clickBtn = "0";//结果显示内容 x÷ var calstr = "";//实际计算的内容 */ $(":button").click(function () { var n = $(this).val(); if (n == 'C') { clickBtn = "0"; } else if (n == '=') { try { var inputText = $("#result").val(); calstr = inputText.replace(/x/g, "*").replace(/÷/g, "/"); clickBtn = window.eval(calstr); } catch (err) { clickBtn = "输入错误!"; } } else if ($("#result").val() == 0 && n != "+" && n != "-" && n != "x" && n != "÷") { clickBtn = n; } else { clickBtn += n; } $("#result").val(clickBtn); }); }); </script>
</head>
<body>
<div id="main">
<input type="text" id="result" value="0" size="17" maxlength="17" >
<table border="0px" >
<tr>
<td><input type="button" class="btn" value="7"></td>
<td><input type="button" class="btn" value="8"></td>
<td><input type="button" class="btn" value="9"></td>
<td><input type="button" id="add" class="btnf" value="+"></td>
</tr>
<tr>
<td><input type="button" class="btn" value="4"></td>
<td><input type="button" class="btn" value="5"></td>
<td><input type="button" class="btn" value="6"></td>
<td><input type="button" id="sub" class="btnf" value="-"></td>
</tr>
<tr>
<td><input type="button" class="btn" value="1"></td>
<td><input type="button" class="btn" value="2"></td>
<td><input type="button" class="btn" value="3"></td>
<td><input type="button" id="times" class="btnf" value="x"></td>
</tr>
<tr>
<td><input type="button" class="btn" value="0"></td>
<td><input type="button" class="btn" id="dot" value="."></td>
<td><input type="button" class="btnf" value="C"></td>
<td><input type="button" class="btnf" id="chu" value="÷"></td>
</tr>
<tr>
<td><input type="button" class="btn" value="("></td>
<td><input type="button" class="btn" value=")"></td>
<td colspan="2"><input type="button" class="btnf" id="cal" value="=" ></td>
</tr>
</table>
</div>
</body>
</html>