dongjinwang 2015-08-07 11:20 采纳率: 16.7%
浏览 2066

求计算器连续加减乘除的 代码

<html>
<head>
    <title>JiSuanQi</title>
    <!-- 移动层外部JS文件 -->
    <script src="src/js/yidong.js"></script>
    <script>
        var oper = ""
        var isClickOper = false//是否点击了运算符
        var num = 0;
        var isClickPoint = false;//是否点击了小数点
        //输入数字 
        function addNum(n){
            var nowNum = myform.num.value;
            if(nowNum == "0"||isClickOper){//直接赋值
                myform.num.value = n;
                isClickOper = false;
            }else if(myform.num.value.length<9){//限制文本框按键输入数字长度最多9个
                //myform.num.value = myform.num.value + n;//连接赋值
                myform.num.value += n  //也可以这样写连接赋值
            }
        }
        //添加运算符
        function setOper(op){
            oper = op;
            num = myform.num.value*1;
            isClickOper = true;
        }

        //得到结果
        function getCount(){
            if(oper != ""){
                if(oper == "+"){
                    num = num + myform.num.value*1
                }else if(oper == "-"){
                    num = num - myform.num.value*1
                }else if(oper == "*"){
                    num = num * myform.num.value*1
                }else if(oper == "/"){
                            if(myform.num.value == 0){
                            num ="除数不能为0"}else{
                            num = num / myform.num.value*1
                            }
                }else if(oper == "%"){
                    num = num % myform.num.value*1
                }
                myform.num.value = num;
            }
        }

        //添加小数点
        function addPoint(){
            if(!isClickPoint){//判断是否点击过小数点
            myform.num.value += ".";
                isClickPoint = true;
            }
        }
        //清楚
        function cc(){
            myform.num.value = "0";
            isClickOper = false;
            isClickPoint = false;
            num = 0;
            oper="0";   
        }
        //删除
        function del(){
            var nowNum = myform.num.value;
            if(nowNum.length==1){
                myform.num.value = "0";
            }else{
                myform.num.value = nowNum.substr(0,nowNum.length-1)
            }
        }

    </script>
    <!--鼠标进入默认按下放开样式-->
    <style>
    #ceng{width:440px;height:500px;background:#323850;}
    .jr{background-Image:url('jr.png')}
    .mr{background-Image:url('mr.png')}
    .ax{background-Image:url('ax.png')}
    .fk{background-Image:url('fk.png')}
    table{position:relative;top:30px;}
    </style>
</head>

<body bgcolor="green">
    <center>
    <form id="myform">
    <div onmousemove="mouseMove()" >
    <div onmousedown="mouseDown()" onmouseup="mouseUp()" id="ceng" style="top:80px;left:300px;position:absolute;cursor:"><font size="7">简易计算器</font>
        <table border="1" width="422px" height="360px" align="center">
            <tr>
                <td colspan="4">
                    <input id="num" type="text" onfocus="blur()" value="0"/>
                </td>
            </tr>
            <tr>
                <td>
                    <input id="bt1" type="button" value="1" onclick="addNum(1)"/>
                </td>
                <td>
                    <input id="bt2" type="button" value="2" onclick="addNum(2)"/>
                </td>
                <td>
                    <input id="bt3" type="button" value="3" onclick="addNum(3)"/>
                </td>
                <td>
                    <input id="bt10" type="button" value="+" onclick="setOper('+')"/>
                </td>
            </tr>
            <tr>
                <td>
                    <input id="bt4" type="button" value="4" onclick="addNum(4)"/>
                </td>
                <td>
                    <input id="bt5" type="button" value="5" onclick="addNum(5)"/>
                </td>
                <td>
                    <input id="bt6" type="button" value="6" onclick="addNum(6)"/>
                </td>
                <td>
                    <input id="bt11" type="button" value="-" onclick="setOper('-')"/>
                </td>
            </tr>
            <tr>
                <td>
                    <input id="bt7" type="button" value="7" onclick="addNum(7)"/>
                </td>
                <td>
                    <input id="bt8" type="button" value="8" onclick="addNum(8)"/>
                </td>
                <td>
                    <input id="bt9" type="button" value="9" onclick="addNum(9)"/>
                </td>
                <td>
                    <input id="bt12" type="button" value="*" onclick="setOper('*')"/>
                </td>
            </tr>
            <tr>
                <td>
                    <input id="bt0" type="button" value="0" onclick="addNum(0)"/>
                </td>
                <td>
                    <input id="bt13" type="button" value="." onclick="addPoint()"/>
                </td>
                <td>
                    <input id="bt14" type="button" value="%" onclick="setOper('%')"/>
                </td>
                <td>
                    <input id="bt15" type="button" value="/" onclick="setOper('/')"/>
                </td>
            </tr>
            <tr>
                <td>
                    <input id="bt16" type="button" value="C" onclick="cc()"/>
                </td>
                <td>
                    <input id="bt17" type="button" value="←" onclick="del()"/>
                </td>
                <td colspan="2">
                    <input id="bt18" type="button" value="=" onclick="getCount()"/>
                </td>

            </tr>
        </table>
    </div>
    </div>
    </form>
    </center>
</body>

<script src="src/js/jsq.js"></script>

  • 写回答

1条回答 默认 最新

  • threenewbee 2015-08-07 15:27
    关注

    http://www.jq22.com/jquery-info307

    稍微修改下

            oDeng.onclick = function() {
                //+-*/%的情况
                if (oText1.value == '' && oPer.value == '' && oText.value == '') {
                    return;
                }
                var n = eval(oText1.value + oPer.value + oText.value);
                oText.value = n;
                oText1.value = '';
                //oPer.value = '';
                //bClear = true;
            }
    
    评论

报告相同问题?

悬赏问题

  • ¥15 关于#python#的问题:求帮写python代码
  • ¥15 LiBeAs的带隙等于0.997eV,计算阴离子的N和P
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
  • ¥15 来真人,不要ai!matlab有关常微分方程的问题求解决,
  • ¥15 perl MISA分析p3_in脚本出错
  • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
  • ¥15 ubuntu虚拟机打包apk错误
  • ¥199 rust编程架构设计的方案 有偿
  • ¥15 回答4f系统的像差计算
  • ¥15 java如何提取出pdf里的文字?