求一个js计算器,需求:页面需要n个文本框,当鼠标点击任意一个文本框的时候能弹出一个简单计算器,而且一个页面能同时存在多个计算器,当我计算完之后,结果能显示在对应的文本框里,计算的时候计算过程能显示在计算器上。(能执行 ‘+’‘-’‘*’‘/’‘%’操作就OK) 要求基本美工。
----------------------------------
各位大大 没办法了 ,我自己网上找了一个,非常不好用,不好看,而且使用一次就不能再次打开了,自己调也调不出来,只有指望各位了,

解决方案 »

  1.   

    ding
      

  2.   

    没有时间往下做了,给网站调试bug了
    <style>
    .jsq{
    background: #666699;
    width: 137px;
    border: 0.2cm #CCCCFF solid;
    cursor: pointer;
    position:absolute;
    }
    </style>
    <script>
    function fun(v){
    var reg = /\d/;
    if(reg.test(v)){
    //计算
    }
    }
    var i = 0;
    function createJSQ(){
    i++;
    var div = document.createElement("div");
    div.className = "jsq";
    div.style.top = Math.random() * ((screen.availHeight * 0.7)-(screen.availHeight * 0.1)) + "px";
    div.style.left = Math.random() * ((screen.availWidth * 0.7)-(screen.availWidth * 0.1)) + 1 + "px";
    var input = document.createElement("input");
    input.type = "text";
    input.id = "text" + i;
    input.style.width = "120px";
    div.appendChild(input);
    div.appendChild(document.createElement("br"));
    var arr = new Array("0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "+", "-", "*", "%", ".", "=");
    for(var j = 0, k = 1; j < 16; j++, k++){
    var input = document.createElement("input");
    input.type = "button";
    input.id = "button" + i;
    input.value = arr[j];
    if(document.addEventListener){
    input.addEventListener('click', function(){fun(arr[j])}, false);
    }else if(attachEvent){
    input.attachEvent('onclick', new Function("fun('" + arr[j] + "')"));
    }
    div.appendChild(input);
    if(k % 8 == 0){
    div.appendChild(document.createElement("br"));
    }
    }
    document.getElementById("div").appendChild(div);
    }
    </script>
    <div id="div"></div>
    <input type="button" value="计算器" onclick="createJSQ()">
      

  3.   

    顺贴一个,楼主继续等3楼
    Insert into <HEAD><SCRIPT LANGUAGE="JavaScript">
    <!-- Original: Rick Johnson -->
    <!-- Web Site:  http://members.tripod.com/~RickJohnson -->
    <!-- Begin
    function a_plus_b(form) {
    a=eval(form.a.value)
    b=eval(form.b.value)
    c=a+b
    form.ans.value = c
    }
    function a_minus_b(form) {
    a=eval(form.a.value)
    b=eval(form.b.value)
    c=a-b
    form.ans.value=c
    }
    function a_times_b(form) {
    a=eval(form.a.value)
    b=eval(form.b.value)
    c=a*b
    form.ans.value=c
    }
    function a_div_b(form) {
    a=eval(form.a.value)
    b=eval(form.b.value)
    c=a/b
    form.ans.value = c
    }
    function a_pow_b(form) {
    a=eval(form.a.value)
    b=eval(form.b.value)
    c=Math.pow(a, b)
    form.ans.value = c
    }
    // End -->
    </SCRIPT>Insert into <BODY><CENTER>
    <FORM name="formx"><input type=text size=4 value=12 name="a">
    <input type="button" value="  +  " onClick="a_plus_b(this.form)">
    <input type="button" value="  -  " onClick="a_minus_b(this.form)">
    <input type="button" value="  x  " onClick="a_times_b(this.form)">
    <input type="button" value="  /  " onClick="a_div_b(this.form)">
    <input type="button" value="  ^  " onClick="a_pow_b(this.form)">
    <input type="number" size=4 value=3 name="b"> = <input type "number" value=0 name="ans" size=9>
    </FORM>
    </CENTER>
      

  4.   

    <FORM name="Keypad" action="">
    <TABLE>
    <B>
    <TABLE border=2 width=50 height=60 cellpadding=1 cellspacing=5>
    <TR>
    <TD colspan=3 align=middle>
    <input name="ReadOut" type="Text" size=24 value="0" width=100%>
    </TD>
    <TD>
    </TD>
    <TD>
    <input name="btnClear" type="Button" value="  C  " onclick="Clear()">
    </TD>
    <TD><input name="btnClearEntry" type="Button" value="  CE " onclick="ClearEntry()">
    </TD>
    </TR>
    <TR>
    <TD>
    <input name="btnSeven" type="Button" value="  7  " onclick="NumPressed(7)">
    </TD>
    <TD>
    <input name="btnEight" type="Button" value="  8  " onclick="NumPressed(8)">
    </TD>
    <TD>
    <input name="btnNine" type="Button" value="  9  " onclick="NumPressed(9)">
    </TD>
    <TD>
    </TD>
    <TD>
    <input name="btnNeg" type="Button" value=" +/- " onclick="Neg()">
    </TD>
    <TD>
    <input name="btnPercent" type="Button" value="  % " onclick="Percent()">
    </TD>
    </TR>
    <TR>
    <TD>
    <input name="btnFour" type="Button" value="  4  " onclick="NumPressed(4)">
    </TD>
    <TD>
    <input name="btnFive" type="Button" value="  5  " onclick="NumPressed(5)">
    </TD>
    <TD>
    <input name="btnSix" type="Button" value="  6  " onclick="NumPressed(6)">
    </TD>
    <TD>
    </TD>
    <TD align=middle><input name="btnPlus" type="Button" value="  +  " onclick="Operation('+')">
    </TD>
    <TD align=middle><input name="btnMinus" type="Button" value="   -   " onclick="Operation('-')">
    </TD>
    </TR>
    <TR>
    <TD>
    <input name="btnOne" type="Button" value="  1  " onclick="NumPressed(1)">
    </TD>
    <TD>
    <input name="btnTwo" type="Button" value="  2  " onclick="NumPressed(2)">
    </TD>
    <TD>
    <input name="btnThree" type="Button" value="  3  " onclick="NumPressed(3)">
    </TD>
    <TD>
    </TD>
    <TD align=middle><input name="btnMultiply" type="Button" value="  *  " onclick="Operation('*')">
    </TD>
    <TD align=middle><input name="btnDivide" type="Button" value="   /   " onclick="Operation('/')">
    </TD>
    </TR>
    <TR>
    <TD>
    <input name="btnZero" type="Button" value="  0  " onclick="NumPressed(0)">
    </TD>
    <TD>
    <input name="btnDecimal" type="Button" value="   .  " onclick="Decimal()">
    </TD>
    <TD colspan=3>
    </TD>
    <TD>
    <input name="btnEquals" type="Button" value="  =  " onclick="Operation('=')">
    </TD>
    </TR>
    </TABLE>
    </TABLE>
    </B>
    </FORM>
    </CENTER>
    <SCRIPT LANGUAGE="JavaScript">
    <!-- Begin
    var FKeyPad = document.Keypad;
    var Accum = 0;
    var FlagNewNum = false;
    var PendingOp = "";
    function NumPressed (Num) {
    if (FlagNewNum) {
    FKeyPad.ReadOut.value  = Num;
    FlagNewNum = false;
       }
    else {
    if (FKeyPad.ReadOut.value == "0")
    FKeyPad.ReadOut.value = Num;
    else
    FKeyPad.ReadOut.value += Num;
       }
    }
    function Operation (Op) {
    var Readout = FKeyPad.ReadOut.value;
    if (FlagNewNum && PendingOp != "=");
    else
    {
    FlagNewNum = true;
    if ( '+' == PendingOp )
    Accum += parseFloat(Readout);
    else if ( '-' == PendingOp )
    Accum -= parseFloat(Readout);
    else if ( '/' == PendingOp )
    Accum /= parseFloat(Readout);
    else if ( '*' == PendingOp )
    Accum *= parseFloat(Readout);
    else
    Accum = parseFloat(Readout);
    FKeyPad.ReadOut.value = Accum;
    PendingOp = Op;
       }
    }
    function Decimal () {
    var curReadOut = FKeyPad.ReadOut.value;
    if (FlagNewNum) {
    curReadOut = "0.";
    FlagNewNum = false;
       }
    else
    {
    if (curReadOut.indexOf(".") == -1)
    curReadOut += ".";
       }
    FKeyPad.ReadOut.value = curReadOut;
    }
    function ClearEntry () {
    FKeyPad.ReadOut.value = "0";
    FlagNewNum = true;
    }
    function Clear () {
    Accum = 0;
    PendingOp = "";
    ClearEntry();
    }
    function Neg () {
    FKeyPad.ReadOut.value = parseFloat(FKeyPad.ReadOut.value) * -1;
    }
    function Percent () {
    FKeyPad.ReadOut.value = (parseFloat(FKeyPad.ReadOut.value) / 100) * parseFloat(Accum);
    }
    // End -->
    </SCRIPT>
      

  5.   

    (能执行 ‘+’‘-’‘*’‘/’‘%’操作就OK) 要求基本美工
    -------
    你这下定单呢?? 那money呢? 别人给个样儿,自己去改就是了。
      

  6.   


    money就100分了啊。我刚学JS改起来很困难
      

  7.   

    给分吧这个足够你用的 <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
    <title>计算器 - CodeFans.net</title>
    <link href="common.css" rel="stylesheet" type="text/css" /></head><body>
    <table width="800" cellpadding=2 cellspacing=0 style="border:1px solid #B2D0EA;">
      <tr>
        <th align="center">万能数学计算器</th>
      </tr>
      <tr>
      <td align="center">
        <script language="javascript">
    <!--
    var endNumber=true
    var mem=0
    var carry=10
    var hexnum="0123456789abcdef"
    var angle="d"
    var stack=""
    var level="0"
    var layer=0
    //数字键function inputkey(key)
    {
    var index=key.charCodeAt(0);
    if ((carry==2 && (index==48 || index==49))
     || (carry==8 && index>=48 && index<=55)
     || (carry==10 && (index>=48 && index<=57 || index==46))
     || (carry==16 && ((index>=48 && index<=57) || (index>=97 && index<=102))))
    if(endNumber)
    {
    endNumber=false
    document.calc.display.value = key
    }
    else if(document.calc.display.value == null || document.calc.display.value == "0")
    document.calc.display.value = key
    else
    document.calc.display.value += key
    }function changeSign()
    {
        if (document.calc.display.value!="0")
         if(document.calc.display.value.substr(0,1) == "-")
             document.calc.display.value = document.calc.display.value.substr(1)
         else
             document.calc.display.value = "-" + document.calc.display.value
    }//函数键function inputfunction(fun,shiftfun)
    {
    endNumber=true
    if (document.calc.shiftf.checked)
    document.calc.display.value=decto(funcalc(shiftfun,(todec(document.calc.display.value,carry))),carry)
    else
    document.calc.display.value=decto(funcalc(fun,(todec(document.calc.display.value,carry))),carry)
    document.calc.shiftf.checked=false
    document.calc.hypf.checked=false
    inputshift()
    }function inputtrig(trig,arctrig,hyp,archyp)
    {
    if (document.calc.hypf.checked)
    inputfunction(hyp,archyp)
    else
    inputfunction(trig,arctrig)
    }
    //运算符function operation(join,newlevel)
    {
    endNumber=true
    var temp=stack.substr(stack.lastIndexOf("(")+1)+document.calc.display.value
    while (newlevel!=0 && (newlevel<=(level.charAt(level.length-1))))
    {
    temp=parse(temp)
    level=level.slice(0,-1)
    }
    if (temp.match(/^(.*\d[\+\-\*\/\%\^\&\|x])?([+-]?[0-9a-f\.]+)$/))
    document.calc.display.value=RegExp.$2
    stack=stack.substr(0,stack.lastIndexOf("(")+1)+temp+join
    document.calc.operator.value=" "+join+" "
    level=level+newlevel

    }//括号function addbracket()
    {
    endNumber=true
    document.calc.display.value=0
    stack=stack+"("
    document.calc.operator.value="   "
    level=level+0

    layer+=1
    document.calc.bracket.value="(="+layer
    }function disbracket()
    {
    endNumber=true
    var temp=stack.substr(stack.lastIndexOf("(")+1)+document.calc.display.value
    while ((level.charAt(level.length-1))>0)
    {
    temp=parse(temp)
    level=level.slice(0,-1)
    }

    document.calc.display.value=temp
    stack=stack.substr(0,stack.lastIndexOf("("))
    document.calc.operator.value="   "
    level=level.slice(0,-1) layer-=1
    if (layer>0)
    document.calc.bracket.value="(="+layer
    else
    document.calc.bracket.value=""
    }//等号function result()
    {
    endNumber=true
    while (layer>0)
    disbracket()
    var temp=stack+document.calc.display.value
    while ((level.charAt(level.length-1))>0)
    {
    temp=parse(temp)
    level=level.slice(0,-1)
    } document.calc.display.value=temp
    document.calc.bracket.value=""
    document.calc.operator.value=""
    stack=""
    level="0"
    }
    //修改键function backspace()
    {
    if (!endNumber)
    {
    if(document.calc.display.value.length>1)
    document.calc.display.value=document.calc.display.value.substring(0,document.calc.display.value.length - 1)
    else
    document.calc.display.value=0
    }
    }function clearall()
    {
    document.calc.display.value=0
    endNumber=true
    stack=""
    level="0"
    layer=""
    document.calc.operator.value=""
    document.calc.bracket.value=""
    }
    //转换键function inputChangCarry(newcarry)
    {
    endNumber=true
    document.calc.display.value=(decto(todec(document.calc.display.value,carry),newcarry))
    carry=newcarry document.calc.sin.disabled=(carry!=10)
    document.calc.cos.disabled=(carry!=10)
    document.calc.tan.disabled=(carry!=10)
    document.calc.bt.disabled=(carry!=10)
    document.calc.pi.disabled=(carry!=10)
    document.calc.e.disabled=(carry!=10)
    document.calc.kp.disabled=(carry!=10)

    document.calc.k2.disabled=(carry<=2)
    document.calc.k3.disabled=(carry<=2)
    document.calc.k4.disabled=(carry<=2)
    document.calc.k5.disabled=(carry<=2)
    document.calc.k6.disabled=(carry<=2)
    document.calc.k7.disabled=(carry<=2)
    document.calc.k8.disabled=(carry<=8)
    document.calc.k9.disabled=(carry<=8)
    document.calc.ka.disabled=(carry<=10)
    document.calc.kb.disabled=(carry<=10)
    document.calc.kc.disabled=(carry<=10)
    document.calc.kd.disabled=(carry<=10)
    document.calc.ke.disabled=(carry<=10)
    document.calc.kf.disabled=(carry<=10)

    }function inputChangAngle(angletype)
    {
    endNumber=true
    angle=angletype
    if (angle=="d")
    document.calc.display.value=radiansToDegress(document.calc.display.value)
    else
    document.calc.display.value=degressToRadians(document.calc.display.value)
    endNumber=true
    }function inputshift()
    {
    if (document.calc.shiftf.checked)
    {
    document.calc.bt.value="deg "
    document.calc.ln.value="exp "
    document.calc.log.value="expd"

    if (document.calc.hypf.checked)
    {
    document.calc.sin.value="ahs "
    document.calc.cos.value="ahc "
    document.calc.tan.value="aht "
    }
    else
    {
    document.calc.sin.value="asin"
    document.calc.cos.value="acos"
    document.calc.tan.value="atan"
    }

    document.calc.sqr.value="x^.5"
    document.calc.cube.value="x^.3"

    document.calc.floor.value="小数"
    }
    else
    {
    document.calc.bt.value="d.ms"
    document.calc.ln.value=" ln "
    document.calc.log.value="log " if (document.calc.hypf.checked)
    {
    document.calc.sin.value="hsin"
    document.calc.cos.value="hcos"
    document.calc.tan.value="htan"
    }
    else
    {
    document.calc.sin.value="sin "
    document.calc.cos.value="cos "
    document.calc.tan.value="tan "
    }

    document.calc.sqr.value="x^2 "
    document.calc.cube.value="x^3 "

    document.calc.floor.value="取整"
    }}
    //存储器部分function clearmemory()
    {
    mem=0
    document.calc.memory.value="   "
    }function getmemory()
    {
    endNumber=true
    document.calc.display.value=decto(mem,carry)
    }function putmemory()
    {
    endNumber=true
    if (document.calc.display.value!=0)
    {
    mem=todec(document.calc.display.value,carry)
    document.calc.memory.value=" M "
    }
    else
    document.calc.memory.value="   "
    }function addmemory()
    {
    endNumber=true
    mem=parseFloat(mem)+parseFloat(todec(document.calc.display.value,carry))
    if (mem==0)
    document.calc.memory.value="   "
    else
    document.calc.memory.value=" M "
    }function multimemory()
    {
    endNumber=true
    mem=parseFloat(mem)*parseFloat(todec(document.calc.display.value,carry))
    if (mem==0)
    document.calc.memory.value="   "
    else
    document.calc.memory.value=" M "
    }//十进制转换function todec(num,oldcarry)
    {
    if (oldcarry==10 || num==0) return(num)
    var neg=(num.charAt(0)=="-")
    if (neg) num=num.substr(1)
    var newnum=0
    for (var index=1;index<=num.length;index++)
    newnum=newnum*oldcarry+hexnum.indexOf(num.charAt(index-1))
    if (neg)
    newnum=-newnum
    return(newnum)
    }function decto(num,newcarry)
    {
    var neg=(num<0)
    if (newcarry==10 || num==0) return(num)
    num=""+Math.abs(num)
    var newnum=""
    while (num!=0)
    {
    newnum=hexnum.charAt(num%newcarry)+newnum
    num=Math.floor(num/newcarry)
    }
    if (neg)
    newnum="-"+newnum
    return(newnum)
    }//表达式解析function parse(string)
    {
    if (string.match(/^(.*\d[\+\-\*\/\%\^\&\|x\<])?([+-]?[0-9a-f\.]+)([\+\-\*\/\%\^\&\|x\<])([+-]?[0-9a-f\.]+)$/))
    return(RegExp.$1+cypher(RegExp.$2,RegExp.$3,RegExp.$4))
    else
    return(string)
    }//数学运算和位运算function cypher(left,join,right)
    {
    left=todec(left,carry)
    right=todec(right,carry)
    if (join=="+")
    return(decto(parseFloat(left)+parseFloat(right),carry))
    if (join=="-")
    return(decto(left-right,carry))
    if (join=="*")
    return(decto(left*right,carry))
    if (join=="/" && right!=0)
    return(decto(left/right,carry))
    if (join=="%")
    return(decto(left%right,carry))
    if (join=="&")
    return(decto(left&right,carry))
    if (join=="|")
    return(decto(left|right,carry))
    if (join=="^")
    return(decto(Math.pow(left,right),carry))
    if (join=="x")
    return(decto(left^right,carry))
    if (join=="<")
    return(decto(left<<right,carry))
    alert("除数不能为零")
    return(left)
    }//函数计算
      

  8.   

    把这两楼连起来用function funcalc(fun,num)
    {
    with(Math)
    {
    if (fun=="pi")
    return(PI)
    if (fun=="e")
    return(E) if (fun=="abs")
    return(abs(num))
    if (fun=="ceil")
    return(ceil(num))
    if (fun=="round")
    return(round(num)) if (fun=="floor")
    return(floor(num))
    if (fun=="deci")
    return(num-floor(num))
    if (fun=="ln" && num>0)
    return(log(num))
    if (fun=="exp")
    return(exp(num))
    if (fun=="log" && num>0)
    return(log(num)*LOG10E)
    if (fun=="expdec")
    return(pow(10,num))
    if (fun=="cube")
    return(num*num*num)
    if (fun=="cubt")
    return(pow(num,1/3))
    if (fun=="sqr")
    return(num*num)
    if (fun=="sqrt" && num>=0)
    return(sqrt(num)) if (fun=="!")
    return(factorial(num)) if (fun=="recip" && num!=0)
    return(1/num)

    if (fun=="dms")
    return(dms(num))
    if (fun=="deg")
    return(deg(num)) if (fun=="~")
    return(~num)

    if (angle=="d")
    {
    if (fun=="sin")
    return(sin(degressToRadians(num)))
    if (fun=="cos")
    return(cos(degressToRadians(num)))
    if (fun=="tan")
    return(tan(degressToRadians(num))) if (fun=="arcsin" && abs(num)<=1)
    return(radiansToDegress(asin(num)))
    if (fun=="arccos" && abs(num)<=1)
    return(radiansToDegress(acos(num)))
    if (fun=="arctan")
    return(radiansToDegress(atan(num)))
    }
    else
    {
    if (fun=="sin")
    return(sin(num))
    if (fun=="cos")
    return(cos(num))
    if (fun=="tan")
    return(tan(num)) if (fun=="arcsin" && abs(num)<=1)
    return(asin(num))
    if (fun=="arccos" && abs(num)<=1)
    return(acos(num))
    if (fun=="arctan")
    return(atan(num))
    }

    if (fun=="hypsin")
    return((exp(num)-exp(0-num))*0.5)
    if (fun=="hypcos")
    return((exp(num)+exp(-num))*0.5)
    if (fun=="hyptan")
    return((exp(num)-exp(-num))/(exp(num)+exp(-num))) if (fun=="ahypsin" | fun=="hypcos" | fun=="hyptan")
    {
    alert("对不起,公式还没有查到!")
    return(num)
    }

    alert("超出函数定义范围")
    return(num)
    }
    }function factorial(n)
    {
    n=Math.abs(parseInt(n))
    var fac=1
    for (;n>0;n-=1)
    fac*=n
    return(fac)
    }function dms(n)
    {
    var neg=(n<0)
    with(Math)
    {
    n=abs(n)
    var d=floor(n)
    var m=floor(60*(n-d))
    var s=(n-d)*60-m
    }
    var dms=d+m/100+s*0.006
    if (neg) 
    dms=-dms
    return(dms)
    }function deg(n)
    {
    var neg=(n<0)
    with(Math)
    {
    n=abs(n)
    var d=floor(n)
    var m=floor((n-d)*100)
    var s=(n-d)*100-m
    }
    var deg=d+m/60+s/36
    if (neg) 
    deg=-deg
    return(deg)
    }function degressToRadians(degress)
    {
    return(degress*Math.PI/180)
    }function radiansToDegress(radians)
    {
    return(radians*180/Math.PI)
    }//界面//-->
    </script>
      
      

  9.   


    <br />
      <table width="100%" bgcolor="#FFFFFF" align="center" cellspacing="2">
        <tr>
          <form name=calc>
            <td align="center"><table width="550" align="center" cellspacing="2">
              <tr>
                <td align="center"><table width="540" height="45" cellspacing="0" class="border">
                  <tr>
                    <td width="26" align="center" bgcolor="#E6F0FA"></td>
                    <td width="495" align="left" bgcolor="#E6F0FA">结果:
                      <input type=text name="display" value="0" readonly size="40">
                          <a onclick='display.select();document.execCommand("Copy")' href="#">复制结果</a></td>
                  </table></td>
              </tr>
              <tr>
                <td align="center"><table width="100%">
                  <tr>
                    <td><input type=radio name="carry" onClick="inputChangCarry(16)">
                      十六进制
                      <input type=radio name="carry" checked onClick="inputChangCarry(10)">
                      十进制
                      <input type=radio name="carry" onClick="inputChangCarry(8)">
                      八进制
                      <input type=radio name="carry" onClick="inputChangCarry(2)">
                      二进制</td>
                    <td></td>
                    <td><input type=radio name="angle" value="d" onClick="inputChangAngle('d')" checked>
                      角度制
                      <input type=radio name="angle" value="r" onClick="inputChangAngle('r')">
                      弧度制</td>
                  </tr>
                </table>
                      <table width="100%" height="40" border="0" cellpadding="0" cellspacing="1">
                        <tr>
                          <td align="center"><table width="100%">
                              <tr>
                                <td><input name="shiftf" type="checkbox" onClick="inputshift()">
                                  上档功能
                                  <input name="hypf" type="checkbox" onClick="inputshift()">
                                  双曲函数 </td>
                                <td><input name="bracket" value="" type=text size=3 readonly style="background-color=lightgrey">
                                    <input name="memory" value="" type=text size=3 readonly style="background-color=lightgrey">
                                    <input name="operator" value="" type=text size=3 readonly style="background-color=lightgrey">
                                </td>
                                <td align="right"><input name="button2" type="button" class="b3" 
       onclick="backspace()" value=" 退格 ">
                                    <input name="button2" type="button" class="b3" 
       onClick="document.calc.display.value = 0 " value=" 清屏 ">
                                    <input name="button2" type="button" class="b3" 
       onClick="clearall()" value=" 全清">
                                </td>
                              </tr>
                          </table></td>
                        </tr>
                      </table>
                  <table width="100%" cellspacing="0">
                        <tr align="left">
                          <td width="29%"><table cellpadding="1" cellspacing="1">
                              <tr  align=center>
                                <td width="42" height="23"><input name=pi type="button" class="b1" 
      onClick="inputfunction('pi','pi')" value=" PI ">
                                </td>
                                <td width="42" height="23"><input name=e type="button" class="b1"
      onClick="inputfunction('e','e')" value=" E  ">
                                </td>
                                <td width="42" height="23"><input name=bt type="button" class="b2" 
    onClick="inputfunction('dms','deg')" value="d.ms">
                                </td>
                              </tr>
                              <tr  align=center>
                                <td width="42" height="23"><input name="button"  type="button" class="b2" style="color=#ff00ff"
      onClick="addbracket()" value=" (  ">
                                </td>
                                <td width="42" height="23"><input name="button"  type="button" class="b2" 
      onClick="disbracket()" value=" )  ">
                                </td>
                                <td width="42" height="23"><input name=ln type="button" class="b2" 
      onClick="inputfunction('ln','exp')" value=" ln ">
                                </td>
                              </tr>
                              <tr  align=center>
                                <td width="42" height="23"><input name=sin type="button" class="b2"
      onClick="inputtrig('sin','arcsin','hypsin','ahypsin')" value="sin ">
                                </td>
                                <td width="42" height="23"><input name="button"  type="button" class="b2" 
      onClick="operation('^',7)" value="x^y ">
                                </td>
                                <td width="42" height="23"><input name=log type="button" class="b2"
      onClick="inputfunction('log','expdec')" value="log ">
                                </td>
                              </tr>
                              <tr  align=center>
                                <td width="42" height="23"><input name=cos type="button" class="b2"
      onClick="inputtrig('cos','arccos','hypcos','ahypcos')" value="cos ">
                                </td>
                                <td width="42" height="23"><input name=cube type="button" class="b2"
      onClick="inputfunction('cube','cubt')" value="x^3 ">
                                </td>
                                <td width="42" height="23"><input name="button"  type="button" class="b2" 
      onClick="inputfunction('!','!')" value=" n! ">
                                </td>
                              </tr>
                              <tr  align=center>
                                <td width="42" height="23"><input name=tan type="button" class="b2" 
      onClick="inputtrig('tan','arctan','hyptan','ahyptan')" value="tan ">
                                </td>
                                <td width="42" height="23"><input name=sqr type="button" class="b2"
      onClick="inputfunction('sqr','sqrt')" value="x^2 ">
                                </td>
                                <td width="42" height="23"><input name="button"  type="button" class="b2"
      onClick="inputfunction('recip','recip')" value="1/x ">
                                </td>
                              </tr>
                          </table></td>
                          <td width="38%"><table align="center" cellpadding="1">
                              <tr>
                                <td width="65"><input name="button"  type="button" class="b3" 
      onClick="putmemory()" value=" 储存 ">
                                </td>
                              </tr>
                            <td><input name="button"  type="button" class="b3" 
      onClick="getmemory()" value=" 取存 ">
                            </td>
                            </tr>
                            <tr>
                              <td><input name="button"  type="button" class="b3"
      onClick="addmemory()" value=" 累存 ">
                              </td>
                            </tr>
                            <tr>
                              <td><input name="button"  type="button" class="b3" 
      onClick="multimemory()" value=" 积存 ">
                              </td>
                            </tr>
                            <tr>
                              <td><input name="button"  type="button" class="b3"
      onClick="clearmemory()" value=" 清存 ">
                              </td>
                            </tr>
                          </table></td>
                          <td width="33%" align="right"><table cellpadding="1" >
                              <tr  align=center>
                                <td ><input name=k7 type="button" value=" 7 "
      onClick="inputkey('7')" class="xn" ></td>
                                <td  ><input name=k8 type="button" class="xn" value=" 8 "
      onClick="inputkey('8')" >
                                </td>
                                <td><input name=k9 type="button" class="xn" value=" 9 "
      onClick="inputkey('9')" >
                                </td>
      

  10.   

    给全分吧 我给你把功能都实现了<body>部分
    --------------------------------------------------------------------------------
    <!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>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>無標題文件</title>
     <link rel="stylesheet" href="css/the.css" type="text/css" />
    </head><body onKeyPress="keyboardInput()">
        <script type="text/javascript" src="js/the.js"></script>
    <!--======================================================-->
      <div id="a">
      <input type="text"  id="iput" class="ipt" onclick="showwin(2)" />
      <div id="win" style="display:none"> 
           <div id="title">
                <div id="exit"><font face="微软雅黑" size="3"color="#333333">简易计算器&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</strong></font><a href="#" onClick="showwin(1)"><img src="images/exit.png" width="24" height="20" border="0"></a></div>
    </div>
           <form name="calculator"><table align="center"><tr><td colspan=4><input type="text" value="0" name="lcd" id="inp" readonly style="width:170px;text-align:right"><td></tr><tr>     <td colspan=2><input type="button" value="复制结果" onclick="document.getElementById('iput').value=document.getElementById('inp').value" style="width:100%"></td>     <td colspan=2><input type="button" value="清零" onClick="clearLcd()" style="width:100%"></td></tr><tr>     <td><input type="button" value="7" onClick="mouseInput(value)"></td>     <td><input type="button" value="8" onClick="mouseInput(value)"></td>     <td><input type="button" value="9" onClick="mouseInput(value)"></td>     <td><input type="button" value="/" onClick="mouseInput(value)"></td></tr><tr>     <td><input type="button" value="4" onClick="mouseInput(value)"></td>     <td><input type="button" value="5" onClick="mouseInput(value)"></td>     <td><input type="button" value="6" onClick="mouseInput(value)"></td>     <td><input type="button" value="x" onClick="mouseInput('*')"></td></tr><tr>     <td><input type="button" value="1" onClick="mouseInput(value)"></td>     <td><input type="button" value="2" onClick="mouseInput(value)"></td>     <td><input type="button" value="3" onClick="mouseInput(value)"></td>     <td><input type="button" value="-" onClick="mouseInput(value)"></td></tr><tr>     <td><input type="button" value="0" onClick="mouseInput(value)"></td>     <td><input type="button" value="." onClick="mouseInput(value)"></td>     <td><input type="button" value="=" onClick="mouseInput(value)"></td>     <td><input type="button" value="+" onClick="mouseInput(value)"></td></tr><tr><td colspan=4 style="color:red;text-align:center;">支持键盘操作<td></tr></table>
    </body>
    </html>
      

  11.   

    js
    -----------------------------------------------
    // JavaScript Document
     var win;   
            var left = 50;   
            var top = 50;   
            var move = false;   
            function showwin(x)
        {
    if(x==1) document.getElementById('win').style.display = "none";
    if(x==2) document.getElementById('win').style.display = "block";
    }
            function init() {   
                win = document.getElementById("win");   
                win.onmousedown = startDrag;   
                win.onmousemove = drag;   
                win.onmouseup = stopDrag;   
            }   
               
            window.onload = init;   
               
            function startDrag(event) {   
                event = event || window.event;   
                var x = event.pageX || event.x;   
                var y = event.pageY || event.y;   
                left = x - left;   
                top = y - top;   
                win.style.background = "#9CEF9E";   
                move = true;   
            }   
               
            function drag(event) {   
                if(move) {   
                    event = event || window.event;   
                    win.style.background = "#9CEF9E";   
                    var x = event.pageX || event.x;   
                    var y = event.pageY || event.y;   
                    win.style.left = x - left + "px";   
                    win.style.top = y - top + "px";   
                    //captureEvents();   
                    //win.setCapture();   
                    if (!window.captureEvents) {    
                        win.setCapture();       
                    } else {   
                        captureEvents();       
                        //window.captureEvents(Event.MOUSEMOVE|Event.MOUSEUP);       
                    }       
                }   
            }   
               
            function stopDrag(event) {   
                event = event || window.event;   
                win.style.background="#9CEF9E";   
                var x = event.pageX || event.x;   
                var y = event.pageY || event.y;   
                left = x - left;   
                top = y - top;   
                move = false;   
                //routeEvent();   
                //win.releaseCapture();   
                if (!window.releaseEvents) {    
                    win.releaseCapture();       
                } else {       
                    releaseEvents();   
                    //window.releaseEvents(Event.MOUSEMOVE|Event.MOUSEUP);       
                }   
            } 
    var oper1=0; //操作数一var oper2=0; //操作数二var operator=0;    //运算符var point=false;function calc(num){     with(calculator.lcd)   //下面的value默认为calculator.lcd的value     {         if(operator==0)    //当没有运算符被按下的时候         {              if(point==true)value+=num;              else              {                   if(parseFloat(value)==0 || oper1!=0)value = num;                     //当屏幕上现显示的不是(初始为)或者应经有操作数一,直接对value赋值                   else value = "" + parseFloat(value) + num;     //否则,连接到原来的末尾                   value += ".";              }         }         else //当有运算符被按下         {              if(point==true)              {                   value+=num;              }              else              {                   if(oper2==0)value=num; //当操作数二还没输入的时候,直接对value赋值                   else value = "" + parseFloat(value) + num;     //操作数二已被输入的时候,连接到原来的末尾                   value += ".";              }              oper2 = parseFloat(value); //把屏幕上现显示的数值放到操作数二         }     }} function compute(){     point=false;     if(operator==0)    //若之前没有其他操作符被按下     {         oper1 = parseFloat(calculator.lcd.value); //保存屏幕上的值到操作数一         return; //退出     }     //若是其他情况     result=""+eval(oper1 + operator + oper2);     result+=(result.indexOf(".")==-1)?".":"";     calculator.lcd.value = result;   //将屏幕上的值设置为两操作数计算结果     oper1 = parseFloat(calculator.lcd.value); //把计算结果放入操作数一,准备下一次计算     oper2 = 0;    //操作数二重新置为} function input(key){     if(key>=0 && key<=9)     {         calc(key);     }     else     {              compute();    //调用计算函数              operator=(key=="=")?0:key;     }} function keyboardInput(){     var key = event.keyCode;     if(key>=48 && key<=57)     {         key-=48; //0~9对应于ASCII编码~57     }     else if(key==46){point=true;return;}     else     {         switch(key)         {              case 43:                   key = "+";break;              case 45:                   key = "-";break;              case 42:                   key = "*";break;              case 47:                   key = "/";break;              case 61:              case 13:                   key = "=";                   input(key);                   getValue();                   break;              default:                   {alert("请输入数字或运算符!");return;}         }     }     input(key);} function mouseInput(key){     if(key=="."){point=true;return;}     if(parseFloat(key)>=0 && parseFloat(key<=9))         key=parseFloat(key);     input(key);} function clearLcd(){     point=false;     oper1=0; //操作数一     oper2=0; //操作数二     operator=0;   //运算符     calculator.lcd.value = "0";} function getValue(){     window.returnValue = calculator.lcd.value;    window.close();
    }//-->
    function copyinput()
    {
    var input=document.getElementById("inp");//input的ID值
    input.select(); //选择对象
    document.execCommand("Copy"); //执行浏览器复制命令
    alert("copy succeed!");
    }
    ----------------------------------------------------------
    [color=#FF0000]css[/color]
    ------------------------------------------------------------
    @charset "utf-8";
    /* CSS Document */
     body {   
                font-family:Verfana;   
                font-size:11px;   
                color:#9CEF9E;   
            }  
    #win {
    position:absolute;
    left:50px;
    top:50px;
    width:25%;
    height:auto; background-color: #9CEF9E;
            }   
        #d {
    background-color: #9CEF9E;
    float: left;
    height: 333px;
    width: 333px;
    }
      #a {
    background-color: #CCC;
    float: left;
    height: 333px;
    width: 100%;
    }
    #title {
    background-image: url(../images/title_bg.jpg);
    height: 25px;
    width: 100%;
    }
    #exit {
    float: right;
    height: auto;
    width: auto;
    margin-right: 10px;
    }
    input{
    width:40px;
    color: #060;
    border:1px solid #0C3;
    background-color: #ffffff;
    }
    .ipt{
    width:100px;
    color: #060;
    border:1px solid #0C3;
    background-color: #ffffff;
    }