Correction status:qualified
Teacher's comments:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>3.迷你计算器</title> <style type="text/css"> body, table { font-family: 'microsoft yahei', Verdana, Arial; } .box { width: 500px; height: 200px; background-color: #efefef; border: 1px solid lightgray; margin:20px auto; text-align: center; color: #636363; box-shadow: 2px 2px 2px #999; } table{ margin:auto; /*border: 1px solid red;*/ } td{ /*border:1px solid blue;*/ width: 100px; height: 30px; padding:5px 10px; } input, select { width: 100%; height: 100%; border: none; text-align: center; } button { width: 100%; height:100%; border: none; background-color: skyblue; color:white; } button:hover { width: 105%; height: 105%; background-color: coral; cursor: pointer; } </style> </head> <body><!-- 知识点: 1.获取页面元素的方法 2.条件判断句 3.条件函数的用法 --> <div class="box"> <h2>迷你计算器</h2> <form> <table> <tr> <td><input type="text" name="opt1" placeholder="操作数1"></td> <td> <select name="option"> <option value="null">请选择操作</option> <option value="add">+</option> <option value="sub">-</option> <option value="mul">*</option> <option value="div">/</option> </select> </td> <td><input type="text" name="opt2" placeholder="操作数2"></td> <td><button type="button">计算</button></td> </tr> <tr> <td colspan="2"><h3 style="float:right">结 果 :</h3></td> <td colspan="2"><h3 id="placeholder" style="float:left"></h3></td> </tr> </table> </form> </div> <script type="text/javascript"> //1.获取操作数,按钮,结果占位符 var opt1 = document.getElementsByName('opt1')[0] var opt2 = document.getElementsByName('opt2')[0] var opt = document.getElementsByName('option')[0] var btn = document.getElementsByTagName('button')[0] var placeholder = document.getElementById('placeholder') //2.给按钮添加事件,执行计算 btn.onclick = function() { // alert(opt1.value) if (opt1.value.length ==0) { alert('操作数1不能为空') opt1.focus() return false } else if (isNaN(opt1.value)) { alert('非法数据:操作数1必须是数字') } else if (opt2.value.length ==0) { alert('操作数2不能为空') opt2.focus() return false } else if (isNaN(opt2.value)) { alert('非法数据:操作数2必须是数字') } else { // var data1 = opt1.value // var data2 = opt2.value var data1 = parseFloat(opt1.value) var data2 = parseFloat(opt2.value) } // alert(data1+data2) var option = opt.value var temp = 0 //临时变量声明,保存临时计算结果。 var flag = '' //临时变量声明,保存当前的操作。 switch (option) { case 'null': alert('请选择操作符') opt.focus() return false // 下个检测 case 'add': flag = '+' temp = data1 + data2 break case 'sub': flag = '-' temp = data1 - data2 break case 'mul': flag = '*' temp = data1 * data2 break case 'div': flag = '/' if (data2 ==0) { alert('除数不能为0') return false } else { temp = data1 / data2 } break } //首先找到占位符,然后用innerHTML给它里面添加计算数据:data1+空格+运算符号+空格+data2+等号+保存的计算结果.即:placeholder.innerHTML = data1 + '' +flag+ '' +data2+ '=' + temp // placeholder.innerHTML ='<span style="color:coral">' data1 + '' +flag+ '' +data2+ '=' + temp + '</span>' 此样式代码不友好,须优化。 var str = '<span style="color:coral">' str += data1 + '' +flag+ '' +data2+ '=' + temp str += '</span>' placeholder.innerHTML = str } </script> </body> </html>
点击 "运行实例" 按钮查看在线实例