Blogger Information
Blog 63
fans 1
comment 0
visits 76075
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
编写一个小型的计算器
桃儿的博客
Original
1555 people have browsed it

编写一个小型的计算器


实例

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>编写一个小型的计算器</title>
    <style type="text/css">
        .box {
            width: 500px;
            height: 200px;
            background-color: #efefef;
            border: 1px solid lightgray;
            text-align: center;
            margin: 20px auto;
            color: #636363;
            border-radius: 15px;
            box-shadow: 2px 2px 2px #999;
        }

        table {
            margin: auto;
        }

        td {
            width: 100px;
            height: 30px;
            padding: 5px 10px;
        }

        input, select {
            width: 100%;
            height:100%;
            border:none;
            text-align: left;
            padding-left: 15px;
        }

        button {
            width: 100%;
            height: 100%;
            border: none;
            background-color: skyblue;
            color: white;
        }
        button:hover {
            cursor: pointer;
            background-color: coral;
            width: 105%;
            height: 105%;
        }

    </style>
</head>
<body>
    <div class="box">
        <h2>小小计算器</h2>
        <form action="">
            <table>
                <tr>
                    <td><input type="text" name="opt1" placeholder="操作数1" autofocus></td>
                    <td>
                        <select name="option">
                            <option value="null">请选择操作</option>
                            <option value="add"> + </option>
                            <option value="sub"> - </option>
                            <option value="mul"> * </option>
                            <option value="div"> / </option>
                        </select>
                    </td>
                    <td><input type="text" name="opt2" placeholder="操作数2"></td>
                    <td><button type="button">计算</button></td>
                </tr>
                <tr>
                    <td colspan="2" align="right"><h3>结果:</h3></td>
                    <td colspan="2" align="left"><h3 id="result"></h3></td>
                </tr>
            </table>
        </form>
    </div>
    <script type="text/javascript">
        //1.获取操作数,按钮与结果占位符
        var opt1=document.getElementsByName('opt1')[0];
        var opt2=document.getElementsByName('opt2')[0];
        var opt=document.getElementsByName('option')[0];
        var btn=document.getElementsByTagName('button')[0];
        var result=document.getElementById('result');
        //2.给按钮添加事件,执行计算操作
        btn.onclick=function () {
            var data1=0;
            var data2=0;
            // 判断2个操作数是否为空,是否为非数字
            if(opt1.value.length===0){
                alert('第一个操作数不能为空');
                opt1.focus();
                return false;
            }else if(isNaN(opt1.value)){
                alert('第一个操作数必须为数字');
                opt1.focus();
                return false;
            }else if(opt2.value.length===0){
                alert('第二个操作数不能为空');
                opt2.focus();
                return false;
            }else if(isNaN(opt2.value)){
                alert('第二个操作数必须为数字');
                opt2.focus();
                return false;
            }else{
                data1=parseFloat(opt1.value);
                data2=parseFloat(opt2.value);
            }
            var option=opt.value;
            var temp=0;
            var flag='';
            // 判断操作类型
            switch(option){
                case 'null':
                    alert('请选择操作类型');
                    opt.focus();
                    break;
                case 'add':
                    flag='+';
                    temp=data1+data2;
                    break;
                case 'sub':
                    flag='-';
                    temp=data1-data2;
                    break;
                case 'mul':
                    flag='*';
                    temp=data1*data2;
                    break;
                case 'div':
                    flag='/';
                    if(data2===0){
                        alert('除数不能为0,请重新输入');
                        opt2.focus();
                        return false;
                    }else{
                        temp=data1/data2;
                        //保留两位小数
                        temp=Math.round(temp*100)/100;
                    }

                    break;
            }
            //计算结果
            var str = '<span style="color:coral">';
            str+=data1+' '+flag+' '+data2+' '+'='+' '+temp;
            str+='</span>';
            result.innerHTML=str;
        }
    </script>
</body>
</html>

运行实例 »

点击 "运行实例" 按钮查看在线实例


Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post