自己闲来无事写的一个小工具,贴出来希望大神指点一下,呵呵
/**
*@author hellangel
*@date 2013.06.24
*/
calcvar str = "", arr = new Array(), iCount = 0, b = false, o = document.getElementById("result");
function keyUp() {
var s = check();
if(s === false)return false;
if( s == -88 ){
if( o.innerText != "" ){
arr.pop();
o.innerText = o.innerText.slice(0, -1);
str = str.slice(0, -1);
}
return false;
}
if( b ) {
o.innerText = "";
arr=new Array();
b = !b;
}
if( s=="*" || s=="+" || s=="-" || s=="/" || s==-83 ) {
if( str.indexOf(".") >=0 ){
str = str.split(".");
arr.push(str[0] * 60 + str[1] * 1);
}
else{
if( str != "" ){
arr.push(str*60);
}
}
if( s!=-83 ) {
arr.push(s);
}
str = "";
}
else {
str += s;
}
if( s==-83 ) {
if( arr.length <= 2 || arr[0] == 0 ){
o.innerText = "";
str ="";
arr = new Array();
return false;
}
str = "";
for( var i = 0; i
str += arr[i];
}
var i = eval(str);
o.innerText = o.innerText + "=" + Math.floor(i/60)+"."+i%60;
str = "";
b = true;
}
if(s!=-83){
o.innerText = o.innerText + s;
}
}
function check() {
var iRet = event.keyCode - 96;
//console.log(iRet);
switch(iRet)
{
case 0:
//0
case 1:
//1
case 2:
//2
case 3:
//3
case 4:
//4
case 5:
//5
case 6:
//6
case 7:
//7
case 8:
//8
case 9:
//9
case -83: //enter
case -88: //backspace
//"enter"
return iRet;
break;
//case 10:
//return "*";
//break;
case 11:
return "+";
break;
case 13:
return "-";
break;
case 14:
return ".";
break;
//case 15:
//return "/";
//break;
default:
return false;
break;
}
}
document.onkeydown = keyUp;