美文网首页
html+css+js实现计算器功能

html+css+js实现计算器功能

作者: 熙如意Xiry8881 | 来源:发表于2019-03-12 23:15 被阅读0次

<!DOCTYPE html>

<html lang="en">

    <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: 310px;

            }

        </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)

            $("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 class="counter">

            <input type="text" id="box" style="text-align:right" readOnly="true" value="0">

            <div class="funct">

                <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 class="numb">

                    <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>

相关文章

  • html+css+js实现计算器功能

    /* 主体 */ .counter{...

  • js基础

    1.网页 网页=html+css+js html:网页元素内容 css:控制网页样式 js:操作网页内容,实现功能...

  • JavaScript制作简单计算器

    JavaScript经典小项目——制作简单的计算器功能使用JS完成一个简单的计算器 功能。实现2个输入框中输入整...

  • 项目-HTML,CSS,JavaScript计算器

    整个计算器分为四部分:1.构建计算器的框架;2.为计算器添加样式;3.实现计算、回删、清零功能;4.为计算器添加日...

  • 3.6 嵌入式

    今天结合lcd显示屏和触摸屏进行练习编写简易计算器。 上午练习在触摸屏画线,下午编写触摸屏实现计算器功能,可以实现...

  • 安卓实现简单计算器

    实现一个计算器 ,有加减乘除功能,小数点和清除操作。 这是学校安卓老师布置的作业,计算器说实话实现起来挺多坑的,之...

  • 2018-11-10

    简单计算器(JavaScript实现) 功能比较简单,还需完善。 效果: HTML部分:

  • 我的一道面试题:设计一款计算器

    开发一个能够实现“+”、“-”、“x”、“/”、开方、平方等常用功能的计算器:1. 请给出该计算器的UI设计图;2...

  • 计算机开发

    计算器开发 设计一个计算器,要求实现以下功能: (1)需要有显示区和下拉菜单。 (2)显示按键0~9。 (3)显示...

  • JavaScript实现网页计算器

    本文是html+css+JavaScript实现网页计算器,具备开关、加减乘除、清零等基本功能。 代码效果: 代码实现:

网友评论

      本文标题:html+css+js实现计算器功能

      本文链接:https://www.haomeiwen.com/subject/etqapqtx.html