HTML程序大全(1):简易计算器

HTML代码,主要创建了几个按钮。

html 复制代码
<div class="container">
  <div class="output" id="output">0</div>
  <button class="button" onclick="clearOutput()" id="clear">C</button>
  <button class="button" onclick="appendToOutput('%')">%</button>
  <button class="button" onclick="appendToOutput('/')">/</button>
  <button class="button" onclick="appendToOutput('*')">*</button>
  <button class="button" onclick="appendToOutput('7')">7</button>
  <button class="button" onclick="appendToOutput('8')">8</button>
  <button class="button" onclick="appendToOutput('9')">9</button>
  <button class="button" onclick="appendToOutput('-')">-</button>
  <button class="button" onclick="appendToOutput('4')">4</button>
  <button class="button" onclick="appendToOutput('5')">5</button>
  <button class="button" onclick="appendToOutput('6')">6</button>
  <button class="button" onclick="appendToOutput('+')">+</button>
  <button class="button" onclick="appendToOutput('1')">1</button>
  <button class="button" onclick="appendToOutput('2')">2</button>
  <button class="button" onclick="appendToOutput('3')">3</button>
  <button class="button equals" onclick="calculate()">=</button>
  <button class="button" onclick="appendToOutput('0')">0</button>
  <button class="button" onclick="appendToOutput('.')">.</button>
</div>

CSS代码,主要设置了背景、计算机板和按钮等等的颜色。

css 复制代码
body { /*背景*/
  background-color: #f2f2f2;
  font-family: Arial, sans-serif;
}

.container { /*计算机板*/
  margin: auto;
  margin-top: 100px;
  width: 300px;
  padding: 10px;
  border: 1px solid #ccc;
  background-color: #fff;
  box-shadow: 0px 0px 10px #ccc;
}

.output { /*输入或者按下的内容字体*/
  font-size: 2em;
  text-align: right;
  padding: 10px;
  background-color: #eee;
  border: 1px solid #ccc;
}

.button { /*正常按钮*/
  font-size: 1.5em;
  margin: 5px;
  width: 50px;
  height: 50px;
  border: none;
  background-color: #ccc;
  color: #fff;
  cursor: pointer;
}

.button:hover { /*鼠标碰到按钮时按钮变色*/
  background-color: #999;
}

.clear { /*清屏*/
  background-color: #ff6666;
}

.equals { /*等于号颜色*/
  background-color: #666666;
}

javascript代码,主要设置了对应按钮按下的显示、计算、清零的工作。

js 复制代码
let output = document.getElementById("output"); // 输入内容

function appendToOutput(value) {
  if (output.innerHTML === "0") {
    output.innerHTML = value; // 直接显示
  } else {
    output.innerHTML += value; // 列出一个算式
  }
}

function clearOutput() { // 清零
  output.innerHTML = "0";
}

function calculate() { // 计算
  output.innerHTML = eval(output.innerHTML);
}

总结:

这是一个简单的计算器,使用HTML、CSS和JavaScript实现。HTML代码创建了一个计算器的界面,CSS代码设置了计算器的样式,JavaScript代码实现了计算器的功能。具体来说,JavaScript代码实现了框架的三个核心功能:

  1. appendToOutput()函数:该函数将按钮的值添加到输出框。
  2. clearOutput()函数:该函数清空输出框。
  3. calculate()函数:该函数使用eval()函数计算输出框中的表达式。

这个计算器可以执行加、减、乘、除和取模运算。同时,它还支持小数点和多位数运算。需要注意的是,eval()函数可能会导致安全问题,因此在实际应用中需要采取安全措施。

相关推荐
tsumikistep15 分钟前
【前端】Vue + Axios 跨域问题实战:7070 代理转发 8080 + 401 报错分析(黑马外卖)
前端·javascript·vue.js
lichenyang45330 分钟前
鸿蒙首页从等高商品 Grid 到双列瀑布流:同一张图也能做出小红书式浏览节奏
前端
里欧跑得慢31 分钟前
Flutter主题与样式详解
前端·css·flutter·web
计算机魔术师35 分钟前
TPU推理性价比翻50%,NVIDIA的护城河要见底了?
前端
IT_陈寒1 小时前
Python的多线程就是个假把式,我算是体验到了
前端·人工智能·后端
OpenTiny社区2 小时前
【直播分享】GenUI SDK 技术公开课第二讲 | GenuiChat 核心配置深度解析
前端·github
计算机魔术师2 小时前
kernel.org 每天 600 万次请求,98% 不是人点的
前端
dong_junshuai2 小时前
每天一个开源项目#93 HyperFrames:4.69万星的 HTML 视频渲染框架
开源·html·github
今日无bug2 小时前
从0到1手撕流式输出:Vue3 + Vite 实现 LLM 流式响应全解析
前端·vue.js·vite
光影少年2 小时前
react navite跨端项目的痛点、踩过哪些坑、怎么解决
前端·react native·react.js