zoukankan      html  css  js  c++  java
  • js实现简单计算器

    效果图:

    刚开始做时没考虑到清零和退格两个功能,嘻嘻,后来加的整体与传统计算器比有点小瑕疵。

    代码:

    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="utf-8">
    <title>js简单计算器</title>

    <style type="text/css">
    *{
    margin:0px;
    padding:0px;
    }
    input{
    margin-top:2px;
    margin-left:2px;
    230px;
    height:30px;
    text-align:right;
    }
    button{
    margin-top:2px;
    margin-left:2px;
    50px;
    height:50px;
    }
    #container{
    margin-left:1px;
    border:1px solid #E4E4E4;
    background:#BBBBBB;
    235px;
    height:215px;
    }
    </style>

    <script>

    function onLoad(){
    //加载完毕后光标自动对应到输入框
    document.getElementById("input").focus();
    }
    //读取按钮的值,传给输入框
    function inputEvent(e){
    //把val的值改为每个事件的innerHTML值
    var val=e.innerHTML;
    //获取input标签
    var xsval=document.getElementById("input");
    //标签里的value连接每个事件的innerHTML值
    xsval.value+=val;
    }

    //计算出结果
    function inputOper(){
    var xsval=document.getElementById("input");
    xsval.value=eval(document.getElementById("input").value);
    }
    //清零
    function clearNum(){
    var xsval=document.getElementById("input");
    xsval.value="";
    document.getElementById("input").focus();
    }
    //退格
    function backNum(){
    var arr=document.getElementById("input");
    arr.value=arr.value.substring(0,arr.value.length-1);
    }



    </script>
    </head>

    <body onload="onLoad()">
    <input id="input" type="text">
    <div id="container">
    <div>
    <button onclick="inputEvent(this)">1</button>
    <button onclick="inputEvent(this)">2</button>
    <button onclick="inputEvent(this)">3</button>
    <button onclick="inputEvent(this)">+</button>

    </div>

    <div>
    <button onclick="inputEvent(this)">4</button>
    <button onclick="inputEvent(this)">5</button>
    <button onclick="inputEvent(this)">6</button>
    <button onclick="inputEvent(this)">-</button>
    </div>

    <div>
    <button onclick="inputEvent(this)">7</button>
    <button onclick="inputEvent(this)">8</button>
    <button onclick="inputEvent(this)">9</button>
    <button onclick="inputEvent(this)">*</button>
    </div>

    <div>
    <button onclick="inputEvent(this)">0</button>
    <button onclick="inputEvent(this)">.</button>
    <button onclick="inputOper(this)">=</button>
    <button onclick="inputEvent(this)">/</button>
    </div>
    </div>
    <button onclick="clearNum()">清零</button>
    <button onclick="backNum()">退格</button>
    </body>

    </html>

  • 相关阅读:
    linux异步信号handle浅析
    数据库的基本操作增删改查
    POJ1789Truck History最小生成树两种做法(Kruskal+Prim)模板题
    POJ1113Wall求凸包周长
    POJ3565AntsKM变形
    HDU2150Pipe判断线段是否相交
    POJ1815Friendship最大流最小割点+拆点+枚举
    HDU3081 Marriage Match II 最大匹配+并查集+匈牙利算法
    POJ3348Cows求凸包面积
    HDU3277Marriage Match III并查集+二分+最大流
  • 原文地址:https://www.cnblogs.com/yanyuanyuan/p/5990090.html
Copyright © 2011-2022 走看看