CSS+JS打造的黑白风格网页计算器

JavaScript版网页计算器,仿Vista风格,计算器中的按钮做的想当漂亮,由此也增加了对此计算器的专业好感。鼠标移在计算器上,有响应效果。 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <title>CSS+JS打造的黑白风格网页计算器丨电表控制器</title>
    <style>
    body,div,p,ul,li,input{margin:0;padding:0;}
    ul{list-style-type:none;}
    a{color:#fff;outline:none;text-decoration:none;}
    body{font:700 24px/1.5 Arial;}
    #calc{position:relative;width:300px;background:#000;margin:10px auto;}
    #calc p{color:#fff;text-align:right;font:12px/20px Arial;padding:0 5px;}
    #calc .f-text{border:0;width:290px;height:84px;text-align:right;font:700 50px/84px Arial;padding:0 5px;}
    #calc ul{position:relative;overflow:hidden;zoom:1;padding:0 0 17px 8px;}
    #calc ul li{float:left;width:63px;height:41px;margin:17px 10px 0 0;}
    #calc ul li a{display:block;width:63px;height:41px;line-height:41px;text-align:center;}
    #calc ul li a:hover{background-position:-63px 0;}
    #calc ul li.btn-1 a{background-position:0 -41px;}
    #calc ul li.btn-1 a:hover{background-position:-63px -41px;}
    #calc ul li.btn-2{position:absolute;top:174px;right:0;height:99px;}
    #calc ul li.btn-2 a{height:99px;line-height:99px;background-position:0 -164px;}
    #calc ul li.btn-2 a:hover{background-position:-63px -164px;}
    #calc ul li.btn-3{width:136px;}
    #calc ul li.btn-3 a{width:136px;background-position:0 -82px;}
    #calc ul li.btn-3 a:hover{background-position:0 -123px;}
    #formula{position:absolute;top:20px;background:none;border:0;font:700 12px/1.5 Arial;width:280px;padding:3px 15px 0 5px;text-align:right;}
    </style>
    <script>
    window.onload = function ()
    {
    var oCalc = document.getElementById("calc");
    var aA = oCalc.getElementsByTagName("a");
    var aInput = oCalc.getElementsByTagName("input")[0];
    var oFormula = document.getElementById("formula");
    var s = false;
    var i = 0;
    for (i = 0; i < aA.length; i++){
    aA[i].onfocus = function ()
    {
    this.blur()
    };
    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
    }
    }
    }
    </script>
    </head>
    <body>
    <div id="calc">
    <p>By - Ferris QQ:21314130</p>
    <input class="f-text" type="text" readonly="readonly" maxlength="9" value="0" />
    <ul>
    <li class="btn-1"><a href="javascript:void(0)">c</a></li>
    <li class="btn-1"><a href="javascript:void(0)">%</a></li>
    <li class="btn-1"><a href="javascript:void(0)">÷</a></li>
    <li class="btn-1"><a href="javascript:void(0)">×</a></li>
    <li><a href="javascript:void(0)">7</a></li>
    <li><a href="javascript:void(0)">8</a></li>
    <li><a href="javascript:void(0)">9</a></li>
    <li class="btn-1"><a href="javascript:void(0)">-</a></li>
    <li><a href="javascript:void(0)">4</a></li>
    <li><a href="javascript:void(0)">5</a></li>
    <li><a href="javascript:void(0)">6</a></li>
    <li class="btn-1"><a href="javascript:void(0)">+</a></li>
    <li><a href="javascript:void(0)">1</a></li>
    <li><a href="javascript:void(0)">2</a></li>
    <li><a href="javascript:void(0)">3</a></li>
    <li class="btn-2"><a href="javascript:void(0)">=</a></li>
    <li class="btn-3"><a href="javascript:void(0)">0</a></li>
    <li><a href="javascript:void(0)">.</a></li>
    </ul>
    <input id="formula" type="text" readonly="readonly" value="" />
    </div>
    </body>
    </html>
    <br><br><hr>
    

 

posted @ 2015-06-11 10:22  滇时尚  阅读(246)  评论(0编辑  收藏  举报