javascript實(shí)現(xiàn)簡(jiǎn)單計(jì)算器效果(推薦)

字號(hào):


    下面小編就為大家?guī)?lái)一篇javascript實(shí)現(xiàn)簡(jiǎn)單計(jì)算器效果【推薦】。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考
    最終效果如下圖-2,有bug:就是整數(shù)后點(diǎn)擊%號(hào)結(jié)果正確,如果小數(shù)后面點(diǎn)擊%的話(huà)結(jié)果就錯(cuò)誤!其他都正常,求指點(diǎn):input的value是string類(lèi)型的,在JS中改如何正確處理下圖-1中的if部分??
    名單
    HTML代碼如下
    <body>
    <div id="calculator">
      <div>
        <span>簡(jiǎn)單的計(jì)算器</span>
        <span>@walker</span>
      </div>
      <div id="shuRu">
        <!--screen輸入欄-->
        <div>
          <input type="text" id="screenName" name="screenName">
        </div>
      </div>
      <div id="keys">
        <!-- j -->
        <!--第一排-->
        <input type="button" id="7" onclick="jsq(this.id)" value="7">
        <input type="button" id="8" onclick="jsq(this.id)" value="8">
        <input type="button" id="9" onclick="jsq(this.id)" value="9">
        <input type="button" id="Back" onclick="tuiGe()" value="Back">
        <input type="button" id="C" onclick="clearNum()" value="C">
        <!--第二排-->
        <input type="button" id="4" onclick="jsq(this.id)" value="4">
        <input type="button" id="5" onclick="jsq(this.id)" value="5">
        <input type="button" id="6" onclick="jsq(this.id)" value="6">
        <input type="button" id="*" onclick="jsq(this.id)" value="X">
        <input type="button" id="/" onclick="jsq(this.id)" value="/">
        <!--第三排-->
        <input type="button" id="1" onclick="jsq(this.id)" value="1">
        <input type="button" id="2" onclick="jsq(this.id)" value="2">
        <input type="button" id="3" onclick="jsq(this.id)" value="3">
        <input type="button" id="+" onclick="jsq(this.id)" value="+">
        <input type="button" id="-" onclick="jsq(this.id)" value="-">
        <!--第四排-->
        <input type="button" id="0" onclick="jsq(this.id)" value="0">
        <input type="button" id="00" onclick="jsq(this.id)" value="00">
        <input type="button" id="." onclick="jsq(this.id)" value=".">
        <input type="button" id="%" onclick="jsq(this.id)" value="%">
        <input type="button" id="eva" onclick="eva()" value="=">
      </div>
      <div>
        <span>歡迎使用JavaScript計(jì)算器</span>
          <span>
            <a href="#" target="_blank">反饋</a>
          </span>
      </div>
    </div>
    </body>
    CSS代碼如下:
    <style>
        /*Basic reset*/
    *{
      margin:0;
      padding:0;
      box-sizing: border-box;
      font: 14px Arial,sans-serif;
    }
    html{
      height:100%;
      background-color:lightslategrey;
    }
    #calculator{
      margin: 15px auto;
      width:330px;
      height:400px;
      border: 1px solid lightgray;
      background-color:darkgrey;
      padding:15px;
    }
    /*LOGO*/
    .LOGO{
      height:20px;
    }
    .LOGO .name{
      float:left;
      line-height:30px;
    }
    .LOGO .verson{
      float:right;
      line-height:30px;
    }
    /*screen*/
    #shuRu{
      margin-top:15px;
    }
    .screen{
      margin-top:5px;
      width:300px;
      height:40px;
      text-align: right;
      padding-right:10px;
      font-size:20px;
    }
    #keys{
      border:1px solid lightgray;
      height:223px;
      margin-top:25px;
      padding:8px;
    }
    #keys .last{
      margin-right:0px;
    }
    .footer{
      margin-top:20px;
      height:20px;
    }
    .footer .link{
      float:right;
    }
    #keys .buttons{
      float:left;
      width: 42px;
      height: 36px;
      text-align:center;
      background-color:lightgray;
      margin: 0 17px 20px 0;
    }
      </style>
    javascript代碼如下:
    <script> 
        var num = 0; // 定義第一個(gè)輸入的數(shù)據(jù) 
        function jsq(num) { 
          //獲取當(dāng)前輸入 
          if(num=="%"){ 
            document.getElementById('screenName').value=Math.round(document.getElementById('screenName').value)/100; 
          }else{ 
            document.getElementById('screenName').value += document.getElementById(num).value; 
          } 
        } 
        function eva() { 
          //計(jì)算輸入結(jié)果 
          document.getElementById("screenName").value = eval(document.getElementById("screenName").value); 
        } 
        function clearNum() { 
          //清0 
          document.getElementById("screenName").value = null; 
          document.getElementById("screenName").focus(); 
        } 
        function tuiGe() { 
          //退格 
          var arr = document.getElementById("screenName"); 
          arr.value = arr.value.substring(0, arr.value.length - 1); 
        } 
      </script> 
    以上這篇javascript實(shí)現(xiàn)簡(jiǎn)單計(jì)算器效果【推薦】就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考