1、编写一个小型的计算器
实例
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>小型简易计算器</title> <style type="text/css"> .box { width: 500px; height: 200px; background-color: #efefef; border: 1px solid lightgray; text-align: center; margin: 20px auto; color: #636363; border-radius: 15px; box-shadow: 2px 2px 2px #999; } table { margin: auto; } td { width: 100px; height: 30px; padding: 5px 10px; } input, select { width: 100%; height:100%; border:none; text-align: left; padding-left: 15px; border-radius: 15px; } button { width: 100%; height: 100%; border: none; background-color: skyblue; color: white; border-radius: 13px; } button:hover { cursor: pointer; background-color: coral; width: 105%; height: 105%; } </style> </head> <body> <div class="box"> <h2>小小计算器</h2> <form> <table> <tr> <td><input type="text" name="opt1" placeholder="操作数1" autofocus></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" align="right"><h3>结果:</h3></td> <td colspan="2" align="left"><h3 id="result"></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 result = document.getElementById('result'); //2.给按钮添加事件,执行计算操作 btn.onclick = function(){ var data1 = 0; var data2 = 0; if (opt1.value.length === 0 ) { alert('第一个操作数不能为空'); opt1.focus(); return false; } else if (isNaN(opt1.value)) { alert('第一个操作数必须为数字'); opt1.focus(); return false; } else if (opt2.value.length === 0) { alert('第二个操作数不能为空'); opt2.focus(); return false; } else if (isNaN(opt2.value)) { alert('第二个操作数必须为数字') opt2.focus(); return false; } else { data1 = parseFloat(opt1.value); data2 = parseFloat(opt2.value); } 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,请重新输入'); opt2.focus(); return false; } else { temp = data1 / data2; //保留小数点2位 temp = Math.round(temp * 100) / 100; } break } var str = '<span style="color:coral">'; str += data1+' '+flag+' '+data2 + ' = ' + temp ; str += '</span>'; result.innerHTML = str; } </script> </body> </html>
运行实例 »
点击 "运行实例" 按钮查看在线实例
2、编写一个在线客服功能
实例
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>在线客服功能</title> <style type="text/css"> div:nth-child(1) { width: 450px; height: 650px; background-color: lightskyblue; margin: 30px auto; color: #333; box-shadow: 2px 2px 2px #808080 } h2 { text-align: center; margin-bottom: -10px; } div:nth-child(2) { width: 400px; height: 500px; border: 4px double green; background-color: #efefef; margin: 20px auto 10px; } ul { list-style: none; line-height: 2em; overflow: hidden; padding: 15px; } table { width: 90%; height:80px; margin: auto; } textarea{ border: none; resize: none; background-color: lightyellow; } button { width: 60px; height: 40px; background-color: seagreen; color: white; border: none; } button:hover { cursor: pointer; background-color: orange; } li { overflow: auto; /*清除浮动*/ } </style> </head> <body> <div> <h2>在线客服</h2> <div contenteditable="true"> <ul> <li></li> </ul> </div> <table> <tr> <td align="right"><textarea cols="50" rows="4" name="text" autofocus></textarea></td> <td align="left"><button type=button>发送</button></td> </tr> </table> </div> <script type="text/javascript"> //获取到页面中的按钮,文本域,对话内容区 var btn = document.getElementsByTagName('button')[0]; var text = document.getElementsByName('text')[0]; var list = document.getElementsByTagName('ul')[0]; var sum = 0; //添加按钮点击事件,获取用户数据并推送到对话窗口中 btn.onclick = function () { //获取用户提交的内容 if (text.value.length === 0) { alert('小老弟:你还想发空内容?'); return false; } var userComment = text.value; //立即清空用户信息区 text.value = ''; //创建一个新节点li var li = document.createElement('li'); li.innerHTML = userComment; var userPic = '<img src="http://img1.gtimg.com/sports/pics/hv1/24/127/1665/108299034.jpg" width="30" style="border-radius:50%">'; li.innerHTML = userPic+userComment; //将新节点插入到对话列表中 list.appendChild(li); sum += 1; setTimeout(function(){ var info = ['一天到晚就会喊我,你烦不烦呀?','除了我不卖,只要钱够啥都卖','找我干哈,有事快说!']; var temp = info[Math.floor(Math.random()*3)]; //获取随机的内容 var reply = document.createElement('li'); /*创建新元素用来保存回复内容*/ var kefuPic = '<img src="http://tx.haiqq.com/uploads/allimg/150327/211551I17-12.jpg" width="30" style="border-radius:50%;float: right;">'; reply.innerHTML = kefuPic + '<span style="color:pink;float: right;">'+temp+'</span>'; list.appendChild(reply); //将回复内容添加到窗口中 sum += 1; // 回复内容计数加1 },1000); //如果回复内容大于10条则清空聊天窗口 if (sum > 10) { list.innerHTML = ''; //清空内容 sum = 0; // 清空计数器 } } </script> </body> </html>
运行实例 »
点击 "运行实例" 按钮查看在线实例