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>
相关推荐
你很易烊千玺1 小时前
日常练习-数组 字符串常用的场景
前端·javascript·字符串·数组
存在的五月雨2 小时前
Vue3项目一些语法
前端·javascript·react.js
大家的林语冰3 小时前
Node 2026 发布,JS 三大新功能上线,最后一个奇偶版本
前端·javascript·node.js
三*一3 小时前
Mapbox GL JS 自研面要素整形工具开发实录
开发语言·javascript·arcgis·ecmascript
我的世界洛天依3 小时前
胡桃讲编程|续篇!用高数 + JS ES262 硬核解构:求乐正绫的值
javascript
棉猴5 小时前
python海龟绘图之画布与窗口
javascript·python·html·setup·turtle·海龟绘图·screensize
AI_paid_community5 小时前
25k Star 登顶 GitHub:这个专门吃 K 线图长大的 AI,让我意识到之前三年都在裸奔
javascript·claude
gjwjuejin6 小时前
前端埋点第二弹:那些年我们踩过的坑,和填坑的正确姿势
javascript
我叫黑大帅6 小时前
通过白名单解决 pnpm i 报错 Ignored build scripts
前端·javascript·面试