本文运用前端代码实现一个简单的计算器界面,并通过JS实现了基本的运算功能。(加、减、乘、除、清屏/退格、取余、取倒) 需要源代码的可以加下面的QQ群,里面有各种学习资料,期待大家的加入!

点我进群     一起学习交流!(群里有许多的学习资料,我做过的一些网页我都上传在群里了,需要的直接下载就可以了)

QQ群:722384575

1.编写前端界面

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>我的计算器</title>
  6. <style>
  7. .containor{
  8. border:1px solid black;
  9. background-color: #fafafa;
  10. height: 380px;
  11. width: 296px;
  12. margin: auto;
  13. margin-top: 40px;
  14. }
  15. .top{
  16. background-color: lightgray;
  17. height: 30px;
  18. }
  19. a{
  20. display: block;
  21. float: left;
  22. font-size: 8px;
  23. height: 26px;
  24. padding: 0 6px;
  25. margin-left: 6px;
  26. line-height: 26px;
  27. }
  28. a:hover{
  29. background-color: dimgray;
  30. color: white;
  31. cursor: default;
  32. }
  33. .input{
  34. width: 86%;
  35. height:60px;
  36. padding: 4px;
  37. margin: 0 auto;
  38. margin-top: 12px;
  39. }
  40. .input:focus{
  41. outline: none;
  42. }
  43. button{
  44. width: 50px;
  45. height: 30px;
  46. margin: 2px;
  47. text-align: center;
  48. font-size: 10px;
  49. border: 0.5px solid gray;
  50. }
  51. button:hover{
  52. border: 1px solid gray;
  53. background-color: #ffaa55;
  54. outline: none;
  55. }
  56. .bottom{
  57. width: 100%;
  58. height: 30px;
  59. background-color:lightgray;
  60. color: white;
  61. position: relative;
  62. margin-top: 56px;
  63. }
  64. </style>
  65. </head>
  66. <body>
  67. <div class="containor">
  68. <div class="top">
  69. <a>查看(V)</a>
  70. <a style="margin-left: 40px;">编辑(E)</a>
  71. <a style="margin-left: 40px;">帮助(H)</a>
  72. </div>
  73. <div style="text-align: center">
  74. <input id="cin" class="input">
  75. </div>
  76. <div style="margin-left: 2px;">
  77. <div style="margin:20px 10px;height:160px;">
  78. <div style="float: left;">
  79. <div>
  80. <button>MC</button><button>MR</button><button>MS</button><button>M+</button><button>M-</button><br>
  81. <button>BK</button><button>CE</button><button>C</button><button >(</button><button>)</button><br>
  82. <button>7</button><button>8</button><button>9</button><button >*</button><button>/</button><br>
  83. <button>4</button><button>5</button><button>6</button><button >%</button><button>1/x</button><br>
  84. </div>
  85. <div style="float: left;">
  86. <button>1</button><button>2</button><button>3</button><button>-</button><br>
  87. <button style="width: 104px">0</button><button>.</button><button>+</button>
  88. </div>
  89. <div style="float: left;">
  90. <button style="height: 64px;margin-top: 2px">=</button>
  91. </div>
  92. </div>
  93. </div>
  94. </div>
  95. <div class="bottom">
  96. </div>
  97. </div>
  98. </body>
  99. </html>

界面如下:

2.通过JS实现计算器功能

  • 在需要实现功能的地方添加相应的函数点击事件
  1. <button onclick="back1()">BK</button><button onclick="clearerr()">CE</button><button onclick="clear1()">C</button><button onclick="inputStr('(')">(</button><button onclick="inputStr(')')">)</button><br>
  2. <button onclick="inputStr(7)">7</button><button onclick="inputStr(8)" >8</button><button onclick="inputStr(9)">9</button><button onclick="inputStr('*')">*</button><button onclick="inputStr('/')">/</button><br>
  3. <button onclick="inputStr(4)">4</button><button onclick="inputStr(5)">5</button><button onclick="inputStr(6)">6</button><button onclick=inputStr('%')>%</button><button onclick="reciprocal()">1/x</button><br>
  4. <button onclick="inputStr(1)">1</button><button onclick="inputStr(2)">2</button><button onclick="inputStr(3)">3</button><button onclick="inputStr('-')">-</button>
  5. <button onclick="inputStr(0)">0</button><button onclick="inputStr('.')">.</button><button onclick="inputStr('+')">+</button>
  6. <button onclick="equal()">=</button>
  • 对函数进行初始化
  1. <script>
  2. window.οnlοad=function(){
  3. // 初始化内容
  4. var res = eval("(1+4)*2");
  5. console.log(res);
  6. //打印进行测试
  7. }
  8. </script>
  • 实现输入框的输入(数字、小数点、运算符、括号)
  1. <input id="cin" class="input">
  2. <script>
  3. function inputStr(c) {
  4. var cin = document.getElementById("cin");
  5. var val = cin.value + c;
  6. cin.value = val;
  7. }
  8. </script>
  • 等于号的实现
  1. function equal() {
  2. var cin = document.getElementById("cin");
  3. var val = cin.value;
  4. var res = eval(val);
  5. cin.value = res;
  6. }
  • 清屏C 、退格BK、错误回退CE的实现
  1. function clear1() {
  2. var cin = document.getElementById("cin");
  3. cin.value = "";
  4. // if(cin.value.length>0){
  5. // document.getElementById("cin").value = "";
  6. // }
  7. }
  8. function back1() {
  9. var cin = document.getElementById("cin");
  10. cin.value = cin.value.substr(0,cin.value.length -1);
  11. }
  12. function clearerr() {
  13. var cin = document.getElementById("cin");
  14. var val = cin.value;
  15. var index = val.lastIndexOf("-");
  16. if(index===-1){
  17. index = val.lastIndexOf("+");
  18. }
  19. if(index===-1){
  20. index = val.lastIndexOf("*");
  21. }
  22. if(index===-1){
  23. index = val.lastIndexOf("/");
  24. }
  25. if(index!==-1){
  26. val = val.substring(0,index+1);
  27. }
  28. cin.value = val;
  29. }
  • 倒数的实现
  1. function reciprocal() {
  2. var cin = document.getElementById("cin");
  3. var rst = 1/cin.value;
  4. cin.value = rst;
  5. }

目前 查看、编辑、帮助以及按钮的首行功能还未实现,可自行添加。

HTML+CSS+JS实现计算机功能相关推荐

  1. html+css+js实现抽奖功能

    html+css+js实现抽奖功能 一.代码 <!DOCTYPE html> <html lang="en"> <head><meta c ...

  2. 前端基础知识面经大全(含html/css/js/es6/计算机基础)

    目录 参考: https://blog.csdn.net/henucm/article/details/105755073 一.HTML 1.对HTML语义化的理解 2.src和href的区别 3.D ...

  3. HTML,CSS,JS完成购物车功能

    这是我们要完成的购物车界面 初始状态,当我选中某件商品时,总数量栏,总价栏显示默认数量和总价. 当我点击全选按钮时,所有的复选框都要被我选到.当我取消全选按钮时,所有商品都要取消选中状态. 当购物车处 ...

  4. Html+css+js实现放大镜功能(详细完整代码)

    通过将鼠标指向指定的图片,将鼠标移动到图片时,显示一个透明的小区域,然后将小区域的部分放大,查看细节. 运行效果:  详细代码: <!DOCTYPE html> <html>& ...

  5. html用js计算显示,html+css+js实现计算器功能

    /* 主体 */ .counter{ width: 396px; height: 486px; background-color: #F2F2F2; border: 1px solid #C2C3C6 ...

  6. H5+css+js前端特效源代码:发光动画按钮:上传按钮

    前端特效:发光动画按钮:上传按钮 H5+CSS+JS 骨架+皮肤+功能 效果展示 源代码: H5部分: <!DOCTYPE html> <html lang="en&quo ...

  7. 前端 css+js实现返回顶部功能

    描述: 本文主要是讲,通过css+js实现网页中的[返回顶部]功能. 实现代码: HTML: 1 <div> 2 <button οnclick="returnTop()& ...

  8. 上传身份证照片js_html+css+js 实现拍照预览上传图片功能

    前言:我们在做网页时经常会需要有上传图片的需求,可能是选择图片或者拍照上传,如果简单的使用这种方式虽然也能实现功能,但用户体验上可能会差了一些,所以本文记录了使用css+js实现图片选中后的预览及压缩 ...

  9. 计算机毕设网页设计源码——HTML+CSS+JS+Bootstrap在线音乐试听播放网站模板

    HTML5期末大作业:HTML+CSS+JS+Bootstrap在线音乐试听播放网站模板(24页) 学生DW网页设计作业成品 web课程设计网页规划与设计 计算机毕设网页设计源码 常见网页设计作业题材 ...

最新文章

  1. 周杰伦新动作的老朋友是谁?程序员:送分题!
  2. php设定错误和异常处理可使用的函数
  3. 正在研究d2010的dcu格式
  4. SAPI(PHP常见的四种运行模式)
  5. 如何在Hibernate中维护表的历史记录
  6. 最强Android教程!2021年Android面经分享,大厂面经合集
  7. Objective-C模版方法(TemplateMethod)
  8. ubantu 添加防火墙策略_ubuntu安装防火墙并策略配置
  9. 字段类型 mysql_mysql 常用字段类型
  10. 64位 linux 中 oracle 11g dbca 报 out of memory 错误
  11. 关于微信公众号的测试
  12. free 和 fclose
  13. 计算机与临床医学的应用,论临床医学教育中计算机系统的应用.pdf
  14. Vtokendapp公链诠释
  15. java table 增加行_使用POI给word中的表格增加行
  16. 下载导出自定义格式Excel文件
  17. 助力数字经济,服务数智化转型,用友火力全开
  18. PPT文件带有打开密码怎么解决
  19. SSL数字证书(一)CA、根证书与数字证书
  20. 计算机人工智能专业大一新生书单及电影

热门文章

  1. 每天一道博弈论之“巴什博弈”
  2. linux卸载openJDK
  3. [学习笔记] JavaScript 检测数组
  4. android TextView中文字通过SpannableString设置属性
  5. php mysql搜索包含数据查询慢,php – 在mysql中搜索关键字并获取至少包含5个关键字的数据...
  6. ARMv8体系结构基础02:搭建实验环境
  7. mysql math.max_Math.max.apply()用法
  8. Java-图片加水印-与图片缩放
  9. 关于计算机网络技术多用复路,自考计算机网络技术练习题
  10. wegame饥荒一直登录中_经历网游和单机发行的左右摇摆后,Wegame决定“我全都要”...