JavaScript练习---简易计算器

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style>
        body,html,div,ul,li,input,p{margin: 0;padding: 0;font-size: 0;}
        div{width: 300px;background-color: #eee;margin: 10px auto;position: relative;border: 3px solid #368;}
        p{color: #fff;font-size:14px;background-color: #000;width: 290px;padding-left: 10px;}
        .mShow{width: 290px;height: 84px;border: none;background:url('images/inputBg.jpg') repeat-x;
        font:36px/1.5 '微软雅黑';text-align: right;padding-right: 10px;}
        .miniShow{font: 12px/1.5 '微软雅黑';color: #fff;text-align: right; position: absolute;border: 0;background-color: #124;width: 290px;height: 20px; padding-right: 10px;right: 0px;top:15px;}
        ul,li{list-style-type: none;}
        ul{padding: 0 0 17px 8px;position: relative;background: #000;}
        li{display: inline-block;margin: 17px 10px 0 0;}
        a,a:visited,a:active,a:link{outline:none;text-decoration: none;}
        a{width: 63px;height: 41px;font:24px/1.5 '微软雅黑';display: inline-block;background-color: #888;
        text-align: center;line-height: 32px;color: #fff;}
        .mEqual{height: 99px;background: url('images/btn.png') no-repeat 0 -164px;line-height: 99px;position:absolute;top:191px;}
        .mEqual:hover{background-position: -63px -164px;}
        .mZero,.mClear{width: 136px;background: url('images/btn.png') no-repeat 0 -82px;}
        .mZero:hover,.mClear:hover{background-position: 0 -123px;}
        .btn-1{background: url('images/btn.png') no-repeat 0 -41px;}
        .btn-1:hover{background-position: -63px -41px;}
        .btn-2{background: url('images/btn.png') no-repeat;}
        .btn-2:hover{background-position: -63px 0;}
    </style>
    <script>
        window.onload = function(){
            var mA = document.getElementsByTagName('a');
            var mInput = document.getElementsByTagName('input');
            for (var i = 0; i < mA.length; i++) {
                        mA[i].onclick = function (){
                        var abc = {'+':'+','-':'-','÷':'/','×':'*','=':mEq,'c':mClear}[this.innerHTML]||(mInput[0].value + this.innerHTML).replace(/^[0\%\/\*\-\+](\d)/,"$1");
                        if(typeof(abc)=='string'){abc.search(/\d/)==0?mInput[0].value=abc:count(abc);}
                        else {abc();}
                        function mClear(){
                            mInput[0].value = 0;
                            mInput[1].value = '';
                        }
                        function mEq(){
                            if(mInput[1].value.search(/\d{1}$/)==-1){
                                mInput[1].value += mInput[0].value;
                                mInput[0].value = parseFloat(eval(mInput[1].value));
                            }
                        }
                        function count(s){
                            if(mInput[0].value.search(/[\%\/\*\-\+]/)!=-1){mInput[0].value=mInput[0].value.replace(/(\d)/,"$1");}
                            else{
                                mInput[1].value = mInput[0].value+s;
                                mInput[0].value = s;
                            }
                        }
                    }
            }
        }
    </script>
</head>
<body>
    <div>
        <p>by Lan</p>
        <input class='mShow' type="text" readonly="readonly" value="0">
        <input class="miniShow" type="text" readonly="readonly" value="0">
    <ul>
    <li class="mbtn"><a href="javascript:void(0)" class="mClear">c</a></li>
    <!-- <li class="mbtn"><a href="javascript:void(0)" class="btn-1">%</a></li> -->
    <li class="mbtn"><a href="javascript:void(0)" class="btn-1">÷</a></li>
    <li class="mbtn"><a href="javascript:void(0)" class="btn-1">×</a></li>
    <li class="mbtn"><a href="javascript:void(0)" class="btn-2">7</a></li>
    <li class="mbtn"><a href="javascript:void(0)" class="btn-2">8</a></li>
    <li class="mbtn"><a href="javascript:void(0)" class="btn-2">9</a></li>
    <li class="mbtn"><a href="javascript:void(0)" class="btn-1">-</a></li>
    <li class="mbtn"><a href="javascript:void(0)" class="btn-2">4</a></li>
    <li class="mbtn"><a href="javascript:void(0)" class="btn-2">5</a></li>
    <li class="mbtn"><a href="javascript:void(0)" class="btn-2">6</a></li>
    <li class="mbtn"><a href="javascript:void(0)" class="btn-1">+</a></li>
    <li class="mbtn"><a href="javascript:void(0)" class="btn-2">1</a></li>
    <li class="mbtn"><a href="javascript:void(0)" class="btn-2">2</a></li>
    <li class="mbtn"><a href="javascript:void(0)" class="btn-2">3</a></li>
    <li class="mbtn"><a href="javascript:void(0)" class="mEqual">=</a></li>
    <li class="mbtn"><a href="javascript:void(0)" class="mZero">0</a></li>
    <li class="mbtn"><a href="javascript:void(0)" class="btn-2">.</a></li>
</ul>
    </div>
</body>
</html>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值