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>
相关推荐
初遇你时动了情7 分钟前
uniapp vue3 ts自定义底部 tabbar菜单
前端·javascript·uni-app
烛阴2 小时前
掌握 TypeScript 的边界:any, unknown, void, never 的正确用法与陷阱
前端·javascript·typescript
前端工作日常4 小时前
H5 实时摄像头 + 麦克风:完整可运行 Demo 与深度拆解
前端·javascript
韩沛晓4 小时前
uniapp跨域怎么解决
前端·javascript·uni-app
Rubin934 小时前
TS 相关
javascript
拾光拾趣录5 小时前
JavaScript 究竟怎么跑
前端·javascript
Aotman_5 小时前
el-input 重写带图标密码框(点击小眼睛显示、隐藏密码)
前端·javascript·vue.js
神笔码农nice5 小时前
Promise详解:Promise解决ajax回调嵌套问题
前端·javascript
程序员二师兄5 小时前
记一次鸿蒙webview图片渲染失败的问题
前端·javascript·harmonyos
萌萌哒草头将军5 小时前
字节也在用的 @tanstack/react-query 到底有多好用!🔥🔥🔥
前端·javascript·react.js