Posted in Javascript onOctober 29, 2020
本文实例为大家分享了JavaScript实现网页计算器的具体代码,供大家参考,具体内容如下
要求:在网页上实现简单的计算器功能和界面
CSS样式代码:
<style> * { margin: 0; padding: 0; } #panel { width: 202px; height: 252px; margin: 30px auto; border: 3px solid #ccc; } #screen { width: 134px; height: 40px; margin: 5px; display: inline-block; border: 1px solid #ddd; line-height: 40px; padding-left: 3px; padding-right: 3px; text-align: right; } input[type="button"] { width: 40px; height: 40px; border: 1px solid #ddd; margin: 5px; font-family: "微软雅黑"; font-size: 18px; font-weight: bold; } #panel div, p, input { float: left; } </style>
JavaScript代码:
<script> window.onload = function(){ //获取计算器面板 var panel = document.getElementById("panel"); //为计算面板动态添加单击事件 panel.onclick = function(e) { //参数e用来接收event对象 //获取所有input元素 var inputs = e.toElement; //获取P元素 var screen = document.getElementById("screen"); if(inputs.type == "button") { //如果获取到的是input元素,则开始执行运算逻辑 if (inputs.value == "C") { screen.innerHTML = ""; } else if (inputs.value == "=") { try { screen.innerHTML = eval(screen.innerHTML); } catch (ex) { screen.innerHTML = "Error"; } } else { screen.innerHTML += inputs.value; } } else { //如果单击的地方不是input元素,则程序不回应 return; } } } </script>
HTML代码:
<body> <div id="panel"> <div> <p id="screen"></p> <input type="button" value="C" /> </div> <div> <input type="button" value="7" /> <input type="button" value="8" /> <input type="button" value="9" /> <input type="button" value="/" /> <input type="button" value="4" /> <input type="button" value="5" /> <input type="button" value="6" /> <input type="button" value="*" /> <input type="button" value="1" /> <input type="button" value="2" /> <input type="button" value="3" /> <input type="button" value="+" /> <input type="button" value="." /> <input type="button" value="0" /> <input type="button" value="-" /> <input type="button" value="=" /> </div> </div> </body>
效果图:
更多计算器功能实现,请点击专题: 计算器功能汇总 进行学习
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。
JavaScript实现网页计算器功能
- Author -
?雅声明:登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。
Reply on: @reply_date@
@reply_contents@