Web 基础学习之 用 JS 实现网页版本 计算器


JS实现计算器

<!doctype html>

<html>
<head>
<title>计算器</title>
<meta charset="utf-8"/>
<style type="text/css">
   a{text-decoration:none;}
   ul,li{list-style:none;}

  *{

     margin:0;

     padding:0;}
   .box{
      margin:30px auto;
     height:502px;
     width:400px;
     border:1px solid gray;
     box-shadow:7px 7px 5px #999;
    }
  .box input{
     height:90px;
     width:390px;
     border:1px solid gray;
     background:#f2f2f2;
     text-align:right;
     font-size:34px;
     padding-right:10px;
    }
  .box li{
     width:100px;
     height:82px;
     line-height:83px;
     float:left;
     text-align:center;
     background:#e6e6e6;
    }
  .box li a{
    color:#000;
    font-family:Arial;
    font-size:24px;
    font-weight:bold;
  }
  .box li a:hover{
    display:block;
    background:#cfcfcf;
   }
  .box li a:active{
    color:#b8b8b8;
   }
  .box .style2 a:hover{
     color:#cc8329;
   }
   .box .style2 a:hover{
     color:#d4a162;
    }
</style>
</head>
<body>
<div class="box">
      <input type="text"  value="0" id="result"/>
      <ul>
              <li onclick = "clear0()"><a href="#">CE</a></li>
              <li onclick = "clean()"><a href="#">C</a></li>
              <li onclick = "goback(result.value)"><a href="#">&larr;</a></li>
              <li onclick = "calculator('/')"><a href="#">&divide;</a></li>
              <li onclick = "calculator('7')"><a href="#">7</a></li>
              <li onclick = "calculator('8')"><a href="#">8</a></li>
              <li onclick = "calculator('9')"><a href="#">9</a></li>
              <li onclick = "calculator('*')"><a href="#">&times;</a></li>
              <li onclick = "calculator('4')"><a href="#">4</a></li>
              <li onclick = "calculator('5')"><a href="#">5</a></li>
              <li onclick = "calculator('6')"><a href="#">6</a></li>
              <li onclick = "calculator('-')"><a href="#">-</a></li>
              <li onclick = "calculator('1')"><a href="#">1</a></li>
              <li onclick = "calculator('2')"><a href="#">2</a></li>
             <li onclick = "calculator('3')"><a href="#">3</a></li>
             <li onclick = "calculator('+')"><a href="#">+</a></li>
             <li onclick = "calculator('&')"><a href="#">&plusmn;</a></li>
            <li onclick = "calculator('0')"><a href="#">0</a></li>
            <li onclick = "calculator('.')"><a href="#">.</a></li>
           <li class="style2" onclick = "calculator('=')"><a href="#">=</a></li>
     </ul>
</div>
<script>
          var isClear = false;//控制再次输入时数据的清空开关
          var oldNumber = 0;//记录旧的数据
          var oldCalcu = " ";//记录旧的运算符
          var secondcal = false;//当再次点击运算符时的开关,再按运算符时不计算,只有点击数字时才能计算
          function calculator(num){
            if( num == "+" || num == "-" || num == "*" || num == "/" || num == "="){
               if( secndcal == true){
                        switch(oldCalcu){
                                        case "+":
                                        result.value = Number(oldNumber) + Number(result.value) ;
                                        break;
                                       case "-":
                                       result.value = Number(oldNumber) - Number(result.value) ;
                                       break;
                                       case "*":
                                       result.value = Number(oldNumber) * Number(result.value) ;
                                       break;
                                       case "/":
                                       result.value = Number(oldNumber )/ Number(result.value) ;
                                       break;
                          }
                        secondcal = false;
                  }
               isClear = true;
               oldNumber = result.value;
              oldCalcu = num;
      }
     else{
           if(result.value == "0" || isClear == true){
           result.value = "";
           isClear = false;
           }
           result.value += num;
           secondcal = true;
}
}
            function clean(){
                             result.value = " ";
            }
            function clear0(){
                             result.value = "0";
          }
</script>
</body>
</html>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值