当前位置:首页 > JavaScript

js实现点击计算器

2026-03-01 21:11:01JavaScript

实现点击计算器的 JavaScript 代码

以下是一个简单的点击计算器的实现代码,包含基本的加减乘除功能:

js实现点击计算器

// 获取计算器元素
const display = document.getElementById('display');
const buttons = document.querySelectorAll('button');

let currentInput = '';
let previousInput = '';
let operation = null;

// 为每个按钮添加点击事件
buttons.forEach(button => {
  button.addEventListener('click', () => {
    const value = button.textContent;

    if (value >= '0' && value <= '9') {
      currentInput += value;
      display.value = currentInput;
    } else if (value === '.') {
      if (!currentInput.includes('.')) {
        currentInput += value;
        display.value = currentInput;
      }
    } else if (value === 'C') {
      currentInput = '';
      previousInput = '';
      operation = null;
      display.value = '';
    } else if (value === '=') {
      if (previousInput && currentInput && operation) {
        currentInput = calculate(previousInput, currentInput, operation);
        display.value = currentInput;
        previousInput = '';
        operation = null;
      }
    } else {
      if (currentInput) {
        if (previousInput) {
          previousInput = calculate(previousInput, currentInput, operation);
          display.value = previousInput;
        } else {
          previousInput = currentInput;
        }
        operation = value;
        currentInput = '';
      }
    }
  });
});

// 计算函数
function calculate(a, b, op) {
  a = parseFloat(a);
  b = parseFloat(b);

  switch (op) {
    case '+':
      return (a + b).toString();
    case '-':
      return (a - b).toString();
    case '*':
      return (a * b).toString();
    case '/':
      return (a / b).toString();
    default:
      return '';
  }
}

对应的 HTML 结构

<div class="calculator">
  <input type="text" id="display" readonly>
  <div class="buttons">
    <button>7</button>
    <button>8</button>
    <button>9</button>
    <button>/</button>
    <button>4</button>
    <button>5</button>
    <button>6</button>
    <button>*</button>
    <button>1</button>
    <button>2</button>
    <button>3</button>
    <button>-</button>
    <button>0</button>
    <button>.</button>
    <button>C</button>
    <button>+</button>
    <button>=</button>
  </div>
</div>

基本 CSS 样式

.calculator {
  width: 200px;
  margin: 0 auto;
}

#display {
  width: 100%;
  height: 40px;
  margin-bottom: 10px;
  text-align: right;
}

.buttons {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 5px;
}

button {
  height: 40px;
  font-size: 18px;
}

功能说明

这个计算器实现了以下功能:

js实现点击计算器

  • 数字输入(0-9)
  • 小数点输入
  • 基本运算(加减乘除)
  • 清除功能(C按钮)
  • 计算结果(=按钮)

用户可以通过点击按钮输入数字和运算符,计算结果会显示在顶部的输入框中。每次计算后会清空之前的运算状态,准备下一次计算。

扩展建议

如果需要更复杂的功能,可以考虑添加:

  • 括号运算
  • 百分比计算
  • 历史记录功能
  • 科学计算功能(平方、开方等)
  • 键盘支持
  • 响应式设计以适应不同屏幕尺寸

标签: 计算器js
分享给朋友:

相关文章

js实现列表

js实现列表

使用 JavaScript 实现列表 JavaScript 提供了多种方式来实现列表功能,包括数组操作、DOM 元素动态生成等。以下是几种常见的实现方法: 使用数组存储列表数据 数组是 JavaSc…

js实现图片

js实现图片

图片加载与显示 在JavaScript中,可以通过Image对象动态加载图片。创建实例后设置src属性触发加载,通过onload回调处理加载完成后的操作: const img = new Ima…

js实现文字滚动

js实现文字滚动

实现文字滚动的几种方法 使用CSS动画实现滚动 通过CSS的@keyframes和transform属性可以实现平滑的文字滚动效果。 <style> .scroll-text { w…

js实现路由

js实现路由

js实现路由的方法 在JavaScript中实现路由功能可以通过多种方式完成,以下是几种常见的方法: 使用原生JavaScript实现路由 通过监听window.onhashchange事件来实现基…

js图片轮播的实现

js图片轮播的实现

基础图片轮播实现 使用HTML、CSS和JavaScript实现一个简单的图片轮播效果。HTML部分定义轮播容器和图片,CSS负责样式和过渡效果,JavaScript处理逻辑。 <div cl…

js实现左右滑动

js实现左右滑动

实现左右滑动的 JavaScript 方法 监听触摸事件 通过 touchstart、touchmove 和 touchend 事件来检测用户的手势操作。记录触摸的起始位置和移动距离,判断滑动方向。…