html计算器

以下是一个更复杂的计算器的HTML代码示例:

html 复制代码
<!DOCTYPE html>
<html>
<head>
    <title>计算器</title>
    <style>
        .container {
            width: 300px;
            margin: 0 auto;
            padding: 20px;
            border: 1px solid #ccc;
            border-radius: 5px;
        }
        .display {
            width: 100%;
            height: 60px;
            margin-bottom: 10px;
            padding: 10px;
            font-size: 30px;
            text-align: right;
            background-color: #f1f1f1;
            border: none;
            border-radius: 5px;
        }
        .buttons {
            display: grid;
            grid-template-columns: repeat(4, 1fr);
            grid-gap: 10px;
        }
        .button {
            width: 70px;
            height: 50px;
            background-color: #eee;
            border-radius: 5px;
            font-size: 20px;
            text-align: center;
            line-height: 50px;
            cursor: pointer;
        }
        .button:hover {
            background-color: #ddd;
        }
        .button.clear {
            grid-column: span 2;
        }
        .button.equals {
            background-color: #f39c12;
            color: #fff;
        }
    </style>
</head>
<body>
    <div class="container">
        <input type="text" id="display" class="display" readonly>
        <div class="buttons">
            <div class="button clear" onclick="clearDisplay()">C</div>
            <div class="button" onclick="appendValue('7')">7</div>
            <div class="button" onclick="appendValue('8')">8</div>
            <div class="button" onclick="appendValue('9')">9</div>
            <div class="button" onclick="appendValue('4')">4</div>
            <div class="button" onclick="appendValue('5')">5</div>
            <div class="button" onclick="appendValue('6')">6</div>
            <div class="button" onclick="appendValue('1')">1</div>
            <div class="button" onclick="appendValue('2')">2</div>
            <div class="button" onclick="appendValue('3')">3</div>
            <div class="button" onclick="appendValue('0')">0</div>
            <div class="button" onclick="appendValue('.')">.</div>
            <div class="button" onclick="appendValue('+')">+</div>
            <div class="button" onclick="appendValue('-')">-</div>
            <div class="button" onclick="appendValue('*')">*</div>
            <div class="button" onclick="appendValue('/')">/</div>
            <div class="button" onclick="calculate()">=</div>
        </div>
    </div>

    <script>
        function appendValue(value) {
            var display = document.getElementById('display');
            var lastChar = display.value.slice(-1);
            if (lastChar === '.' && value === '.') {
                return;
            }
            display.value += value;
        }

        function calculate() {
            var display = document.getElementById('display');
            var expression = display.value;
            if (expression) {
                try {
                    var result = eval(expression);
                    display.value = result;
                } catch (error) {
                    display.value = '错误';
                }
            }
        }

        function clearDisplay() {
            document.getElementById('display').value = '';
        }
    </script>
</body>
</html>
相关推荐
懂懂tty几秒前
Vue2与Vue3之间API差异
前端·javascript·vue.js
小二·1 小时前
Next.js 15 全栈开发实战
开发语言·javascript·ecmascript
Rain5092 小时前
2.1 Nest.js 项目初始化与模块化架构
开发语言·前端·javascript·后端·架构·数据分析·node.js
拾年2753 小时前
从零手写 Ajax:用原生 XHR 搭建前后端交互全流程
前端·javascript·ajax
拉勾科研工作室3 小时前
区块链工程毕业论文题目【249个】
开发语言·javascript
小林ixn3 小时前
你以为你懂 + 号?看完这篇 Bun + TS 实战,才发现以前全写错了
前端·javascript·typescript
jvxiao5 小时前
你真的懂作用域吗?从编译原理角度深度 JS 的作用域
前端·javascript
Darling噜啦啦5 小时前
二叉树与递归算法实战:从树结构到 LeetCode 爬楼梯,一文吃透前端数据结构与递归思维
前端·javascript·数据结构
Sammyyyyy6 小时前
月之暗面 Kimi Code 0.4.0 发布,终端 AI 编码助手全面采用 TypeScript,实现毫秒级启动
前端·javascript·人工智能·ai·typescript·servbay
宋拾壹6 小时前
fastadmin列表中查看列表,并且添加增加相应的数据
javascript·php·fastadmin