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

JS 计算器

2017-02-22 16:04 162 查看


<div id="warp">

   <p> By- FireBird_one </p>

   

   <input class="f-text" type="text" readonly = "readonly" maxlength="9" value="0"/>

   

   <ul class="clearfix">

     <li class="btu-1"><a href="javascript:;">c</a></li>

     <li class="btu-1"><a href="javascript:;">%</a></li>

     <li class="btu-1"><a href="javascript:;">÷</a></li>

     <li class="btu-1"><a href="javascript:;">×</a></li>

     <li><a href="javascript:;">7</a></li>

     <li><a href="javascript:;">8</a></li>

     <li><a href="javascript:;">9</a></li>

     <li class="btu-1"><a href="javascript:;">-</a></li>

     <li><a href="javascript:;">4</a></li>

     <li><a href="javascript:;">5</a></li>

     <li><a href="javascript:;">6</a></li>

     <li class="btu-1"><a href="javascript:;">+</a></li>

     <li><a href="javascript:;">1</a></li>

     <li><a href="javascript:;">2</a></li>

     <li><a href="javascript:;">3</a></li>

     <li class="btu-2"><a href="javascript:;">=</a></li>

     <li class="btu-3"><a href="javascript:;">0</a></li>

     <li><a href="javascript:;">.</a></li>

   </ul>

   

 <input id="formula" type="text" readonly value="">

 
</div>

window.onload = function(){
 
 var warp = document.getElementById("warp");
 var aA = warp.getElementsByTagName("a");
 var aInput = warp.getElementsByTagName("input")[0];
 var oFormula = document.getElementById("formula");
 var s = false;
 var i = 0;

 for (i = 0; i < aA.length; i++){

aA[i].onclick = function ()
{
switch(this.innerHTML)
{
case "c":
aInput.value = 0;
oFormula.value = "";
break;
case "%":
count("%")
break;
case "÷":
count("/")
break;
case "×":
count("*")
break;
case "-":
count("-")
break;
case "+":
count("+")
break;
case "=":
s || (oFormula.value += aInput.value);
aInput.value = eval(oFormula.value.replace(/\%\/\*\-\+/,''));
aInput.value = aInput.value.substr(0,10).replace("NaN",0);
s = true;
break;
case ".":
if(aInput.value.search(/[\.\%\/\*\-\+]/) != -1)
break;
default:
s && (aInput.value = 0, oFormula.value = "", s = false);
aInput.value.length < 10 && (aInput.value = (aInput.value + this.innerHTML).replace(/^[0\%\/\*\-\+](\d)/,"$1"));
}
}
}

function count(a)
{

if(s)
{
oFormula.value = aInput.value + a;
aInput.value = a;
s = false;
}
else
{
/[\%\/\*\-\+]$/.test(aInput.value) || (oFormula.value += aInput.value);
aInput.value = a;
/[\%\/\*\-\+]$/.test(oFormula.value) || (oFormula.value += aInput.value);
oFormula.value = oFormula.value.slice(-1) != a ? oFormula.value.replace(/.$/,a) : oFormula.value
}
       }

 
     };
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  JS计算器