javascript-急JS编写的计算器 如何实现 连续加减乘除四则运算 求大神指点 急帮我再看看小数点的问题

问题描述

急JS编写的计算器 如何实现 连续加减乘除四则运算 求大神指点 急帮我再看看小数点的问题
<html>
<head>
    <title>JiSuanQi</title>
    <!-- 移动层外部JS文件 -->
    <script src="src/js/yidong.js"></script>
    <link rel="stylesheet" href="src/css/jsq.css">
    <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:#141414;}
    .jr{background-Image:url('src/img/jr.png')}
    .mr{background-Image:url('src/img/mr.png')}
    .ax{background-Image:url('src/img/ax.png')}
    .fk{background-Image:url('src/img/fk.png')}
    table{position:relative;top:30px;}
    #daceng{background-image:url('src/img/1.jpg')}

    </style>
</head>
<body bgcolor="green">
    <center>
    <form id="myform">
    <div onmousemove="mouseMove()" id="daceng" style="width:100%;height:800px">

    <div onmousedown="mouseDown()" onmouseup="mouseUp()" id="ceng" style="top:80px;left:300px;position:absolute;"><font size="7" color="#99ff99">简易计算器</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>
    <!-- 打开关闭计算器 -->
    <input type="button" value="打开计算器"style="font-size:20px;color:black;background:lime" onclick="ceng.style.display='block'">
    <input type="button" style="font-size:20px;color:black;background:lime" value="关闭计算器" onclick="ceng.style.display='none'">

</body>

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

解决方案

function setOper(op){
oper = op;
num = myform.num.value*1;
isClickOper = false;
}
将这段代码中true改成false

            function del(){
        var nowNum = myform.num.value;
        if(nowNum.length==1){
            myform.num.value = "0";
                            isClickOper = false;//加上这段
        }else{
            myform.num.value = nowNum.substr(0,nowNum.length-1)
        }

    }
            其他由于mouseDown()等函数不存在无法知道什么错误

解决方案二:

想实现连续加减乘除,可加一个判定标志,判定输入的符号之前是否有符号,然后将getCount()写成递归函数

时间: 2024-12-31 01:48:48

javascript-急JS编写的计算器 如何实现 连续加减乘除四则运算 求大神指点 急帮我再看看小数点的问题的相关文章

js-!急JS编写的计算器 如何实现 连续加减乘除四则运算 求大神指点 急帮我再看看小数点的问题

问题描述 !急JS编写的计算器 如何实现 连续加减乘除四则运算 求大神指点 急帮我再看看小数点的问题 var oper = "" var isClickOper = false//是否点击了运算符 var num = 0; var isClickPoint = false;//是否点击了小数点 //输入数字 function addNum(n){ var nowNum = myform.num.value; if(nowNum == "0"||isClickOper

javascript-JS编写的计算器 如何实现 连续加减乘除四则运算 求大神指点 急帮我再看看小数点的问题

问题描述 JS编写的计算器 如何实现 连续加减乘除四则运算 求大神指点 急帮我再看看小数点的问题 <html> <head> <title>JiSuanQi</title> <!-- 移动层外部JS文件 --> <script src="src/js/yidong.js"></script> <script> var oper = "" var isClickOper =

求大神指点 急急急-求大神指教,如何解锁EXCEL文档?

问题描述 求大神指教,如何解锁EXCEL文档? 文档被锁,忘了密码了!!!!!!!!!急求解锁,求大神指点, 解决方案 参考度娘的http://jingyan.baidu.com/article/676629974d4dca54d51b84c4.html

求大神指点 急急急-黑白名单列表的下发,怎么用

问题描述 黑白名单列表的下发,怎么用 1C 服务器下发黑白名单列表,怎么接受网关,如何解析,求求求,大神们急,求思路啊, 解决方案 看下软件的使用说明书,上面有. 解决方案二: 不是使用,是要接受一个列表,写代码,用线程接受消息,解析数据保存在网关

求大神指点 急急急-这是为什么啊?第一次接触不懂啊!?求解决!!

问题描述 这是为什么啊?第一次接触不懂啊!?求解决!! 急急急啊!求帮助!谢谢 解决方案 在线程中操作界面,或者有程序终止了线程. 解决方案二: 你再着急也要用电脑把问题发清楚了吧???,又暗又黑的给谁看 解决方案三: 要用委托写法,delegate. 解决方案四: 看不清,最好截图,别用手机照

求大神指点 急急急-《统计字符数》但是运行不了??

问题描述 <统计字符数>但是运行不了?? #include using namespace std; int main() { int cases,sum[26],i,max; char str; cin>>cases; while(cases>0) { for(i=0;i { sum[i]=0; } while((str=getchar())!='/n') { sum[str-'a']++; } max=0; for(i=1;i { if(sum[i]>sum[max

求大神指点 急急急-crtmpserver源代码windows下开发

问题描述 crtmpserver源代码windows下开发 crtmpserver在vs2012编译后启动,但执行界面没有显示"go,go,go"`,点击crtmpserver.exe出现闪退 解决方案 运行有问题,设个断点什么的调试一下

求大神指点 急急急-不知道怎么写基于JAVA_WEB开发的博客网站  

问题描述 不知道怎么写基于JAVA_WEB开发的博客网站 第二次做项目 第一次做集体项目 能有大神指导下 希望能给点实用的建议 本人初学者一枚

求大神指点 急急急-客户端与客户端的访问

问题描述 客户端与客户端的访问 用客户端时间,怎么去访问别人电脑的客户端的时间.同时我看见对方时间,对方也看见我的时间? 解决方案 不知道你用的是什么语言,一般可以用socket网络通讯实现 解决方案二: 需要用代码写个程序,在两台电脑运行,然后用socket或者其它协议通讯,把时间相互传递就可以显示出来了 解决方案三: NIO中的服务器端和客户端的连接