您的位置:首页 > Web前端 > JavaScript

JS实现简单计算器

2017-08-04 23:14 323 查看


效果如上图:

CSS代码:



HTML 代码:



JS代码:

<script>
        var sNum1='';//储存
        var sOpr='';

        var bNeedClear=false;    //是否需要清除输入框中已有的内容

       //计算函数传参 输入得数字 和 运算符号
        function calc(iNum1, iNum2, sOpr)
        {
            var iResult=0;
            switch(sOpr)
            {
                case '×':
                    iResult=iNum1*iNum2;
                    break;
                case '+':
                    iResult=iNum1+iNum2;
                    break;
                case '-':
                    iResult=iNum1-iNum2;
                    break;
                case '÷':
                    iResult=iNum1/iNum2;
                    break;
                default:
                    iResult=iNum2;
            }

            return iResult;
        }
       //获得输入的值 和 符号
        function doInput()
        {
            var oInput=document.getElementById('input1');
            var sHtml=this.innerHTML.replace(' ','');

            switch(sHtml)
            {
                case '=':
                    oInput.value=calc(parseInt(sNum1), parseInt(oInput.value), sOpr);

                    sNum1='';
                    sOpr='';
                    bNeedClear=true;
                    break;
                case '+':
                case '-':
                case '×':
                case '÷':
                    bNeedClear=true;

                    if(sNum1.length!=0)
                    {
                        oInput.value=calc(parseInt(sNum1), parseInt(oInput.value), sOpr);
                    }

                    sOpr=sHtml;

                    sNum1=oInput.value;
                    break;
                case 'C':
                    oInput.value='0';
                    sNum1='';
                    sOpr='';
                    break;
                default:    //数字
                    if(bNeedClear)
                    {
                        oInput.value=parseInt(sHtml, 10);
                        bNeedClear=false;
                    }
                    else
                    {
                        oInput.value=parseInt(oInput.value+sHtml, 10);
                    }
                    break;
            }
        }

        window.onload=function ()
        {
            var aLi=document.getElementsByTagName('li');
            var i=0;

            for(i=0;i<aLi.length;i++)
            {
                aLi[i].onmousedown=doInput;
                aLi[i].onmouseover=function ()
                {
                    this.className='active';
                };

                aLi[i].onmouseout=function ()
                {
                    this.className='';
                };
            }
        };
    </script>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  javascript