Home > Web Front-end > Front-end Q&A > Implement calculator using html+css+js

Implement calculator using html+css+js

藏色散人
Release: 2020-02-15 14:18:11
forward
2819 people have browsed it

Use html css js to implement the calculator and start your calculation journey

Rendering:

Implement calculator using html+css+js

The code is as follows , copy and use:

<!DOCTYPE html><html>
    <head>    
    <meta charset="utf-8">
        <style>

            /* 主体 */
            .counter{
                width: 396px;
                height: 486px;
                background-color: #F2F2F2;
                border: 1px solid #C2C3C6;
                margin: 50px auto;

            }
            /* 显示框 */
            #box {
                height: 70px;
                width: 336px;
                background-color: #323232;
                border: none;
                margin: 40px 25px 32px 25px;
                font: 700 40px/70px "微软雅黑";
                color: #ffffff;
                padding-right: 10px;
            }
            /* 功能区 */
            .funct {
                padding: 0 20px;
                position: relative;

            }
            /* 按钮样式 */
            .funct input {
                height: 40px;
                width: 60px;
                margin: 10px 10px;
                font: 400 20px/40px "微软雅黑";
            }
            /* 清除按钮样式 */
            .funct #res {
                width: 150px;
            }
            /* + - = . 按钮浮动 */
            #add, #reduce, #round, #sum {
                position: absolute;
                right: 0px;
                bottom: 0px;
            }
            /* 减号位置 */
            #reduce {
                right: 30px;
                top: 60px;
            }

            /* 加号位置 */
            #add {
                right: 30px;
                top: 120px;
            }
            /* 等于号位置 */
            #sum {
                height: 100px;
                right: 30px;
                bottom: 0px;
            }
            /* 小数点位置 */
            #round {
                right: 120px;
                bottom: 0px;
            }
            /* 0 */
            #zero {
                width: 150px;
            }
            
            /* 数字区 */
            .numb {
                width: 280px;
            }

        </style>

        <script>
        window.onload = function(){

            // 数据容器
            var left = 0;   //被除数
            var right = 0;  //除数
            var sum = 0;    //和  

            var numb = 0;   //此变量用来限制点的输入     
            // 获取id并返回
            function $(id){
                return document.getElementById(id);
            }
            // 运算函数
             function operation(id){            
                if( $("box").value != "0"){
                    if(left == 0)
                    {
                        $("box").value = $("box").value + $(id).value;
                        left = parseFloat($("box").value);
                    }
                }

                //numb 转为number类型 让点可以再输入一次
                numb = 0;
            }

            // 数字盘函数
            function figure(id){ 
            
                // 判断被除数是否有值
                if(left == 0)
                {
                    // 改变value默认值
                    if ($("box").value === "0" ) {
                        $("box").value = $(id).value; 
                    }else{
                        $("box").value = $("box").value + $(id).value;    
                    }                                
                }else{
                    $("box").value = $("box").value + $(id).value;
                    var str = $("box").value;
                    var num = "";                    
                    // 获取第二次输入的数字
                    for (var i = 0; i < str.length; i++) {
                        // 判断加减乘除
                        if(str[i]== "+"){
                            for (var j = i + 1; j < str.length; j++) {
                                num+=str[j];
                                
                            };
                            right = parseFloat(num);
                        }else if(str[i]== "-"){
                            for (var j = i + 1; j < str.length; j++) {
                                num+=str[j];
                                
                            };
                            right = parseFloat(num);
                        }
                        else if(str[i]== "*"){
                            for (var j = i + 1; j < str.length; j++) {
                                num+=str[j];
                                
                            };
                            right = parseFloat(num);
                        }
                        else if(str[i]== "/"){
                            for (var j = i + 1; j < str.length; j++) {
                                num+=str[j];
                                
                            };
                            right = parseFloat(num);
                        }
                    };                    
                }

                // 清空所有数据  
                if(sum != 0){
                    left = 0;
                    right = 0;
                    sum = 0;
                    numb = 0;
                    $("box").value = $(id).value;
                }
            
            }


       // 数字键盘区----------------------------------------------------------开始
            $("one").onclick = function(){ 
                figure("one");
            }
            $("two").onclick = function(){ 
                figure("two");
            }
            $("three").onclick = function(){ 
                figure("three");
            }
            $("four").onclick = function(){ 
                figure("four");
            }
            $("five").onclick = function(){ 
                figure("five");
            }
            $("six").onclick = function(){ 
                figure("six");
            }
            $("seven").onclick = function(){ 
                figure("seven");
            }
            $("eight").onclick = function(){ 
                figure("eight");
            }
            $("nine").onclick = function(){ 
                figure("nine");
            }
            $("zero").onclick = function(){ 
                figure("zero");
            }
 
        // 数字键盘区----------------------------------------------------------结束
            



       //功能区-----------------------------------------------------------开始

            // 加
            $("add").onclick = function(){             
                operation("add");
            }


            //减
            $("reduce").onclick = function(){             
                operation("reduce");
            }

            // 乘
            $("ride").onclick = function(){
                operation("ride");
            }
            
            // 除
            $("division").onclick = function(){
                operation("division");
            }

            // 点
            $("round").onclick = function(){
                // 限制点的输入
                if(numb === 0 && sum == 0){ //numb值等于0 类型等于number                        
                    $("box").value = $("box").value + $("round").value;
                    numb = ($("box").value); //numb赋值为字符串
                }

            }

            // 清除
            $("res").onclick = function(){
                if($("box").value != "0")
                {                        
                    left = 0;
                    right = 0;
                    sum = 0;
                    numb = 0;
                    $("box").value = "0";
                }
            }

            // 求和
            $("sum").onclick = function(){  
                var symbol = "";           
                if(left != 0 && right != 0){
                    for (var i = 0; i < $("box").value.length; i ++ ) {
                        symbol = $("box").value[i];
                        if(symbol == "+"){
                            sum = left + right;
                            $("box").value = sum;
                        }else if(symbol == "-"){
                            sum = left - right;
                            $("box").value = sum;
                        }
                        else if(symbol == "*"){
                            sum = left * right;
                            $("box").value = sum;

                        }
                        else if(symbol == "/"){
                            sum = left / right;
                            $("box").value = sum;
                        }
                    };
                }                            
            }
            
        }

     // 功能区--------------------------------------------------------------------------结束

        </script>
    </head>
    <body>

        </div>

        <div>
            <input type="text" id="box" style="text-align:right" readOnly="true" value="0">
            <div>
                <input type="reset" id="res" value="C">
                <input type="button" id="division" value="/">
                <input type="button" id="ride" value="*">

                <input type="button" id="add" value="+">
                <input type="button" id="reduce" value="-">                                
                <input type="button" id="round" value=".">
                <input type="button" id="sum" value="=">    
               
                <div>
                    <input type="button" id="one" value="1">
                    <input type="button" id="two" value="2">
                    <input type="button" id="three" value="3">
                    <input type="button" id="four" value="4">
                    <input type="button" id="five" value="5">
                    <input type="button" id="six" value="6">
                    <input type="button" id="seven" value="7">
                    <input type="button" id="eight" value="8">
                    <input type="button" id="nine" value="9">
                    <input type="button" id="zero" value="0">
                </div>                        
            </div>                            
        </div>
        
    </body>
</html>
Copy after login

The above is the detailed content of Implement calculator using html+css+js. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:cnblogs.com
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template