네이버에서 제공하고 있는 깔끔한 디자인 계산기
페이지 정보
작성자 서방님 댓글 0건 조회 118회 작성일 07-08-11 19:55본문
<script>
_cal = 0;
function cal1( exp ) {
var exp;
var result;
result = eval( "with( Math ) { " + exp + " } " );
document.cal.calD.value = result;
return;
}
function calculate() {
var exp;
var result;
if( e2 ) v2 = parseFloat( document.cal.calD.value );
else v1 = parseFloat( document.cal.calD.value );
if( !opr ) exp = v1;
else exp = v1 + opr + v2;
result = eval( "with( Math ) { " + exp + " } " );
document.cal.calD.value = result;
v1 = document.cal.calD.value;
e2 = 0;
ced = 1;
return;
}
function enter_num( str ) {
var p;
p = document.cal.calD.value;
if( str == "." ) if( p.indexOf( ".", 0 ) > 0 ) return;
if( p.indexOf( ".", 0 ) < 0 && !parseFloat( p ) ) document.cal.calD.value = "";
if( ced ) { document.cal.calD.value = ""; ced = 0; }
document.cal.calD.value += str;
return;
}
function enter_opr( str ) {
if( e2 ) v2 = parseFloat( document.cal.calD.value );
else v1 = parseFloat( document.cal.calD.value );
if( !ced ) calculate();
opr = str;
e2 = 1;
return;
}
function do_convert() {
var cD = document.cal.calD.value;
v1 = - cD;
document.cal.calD.value = - cD;
return;
}
function do_copy() {
var range;
document.cal.calHD.value = document.cal.calD.value;
document.cal.calHD.select();
range = document.cal.calHD.createTextRange();
range.execCommand("Copy")
return;
}
function do_clear() {
document.cal.calD.value = 0;
v1 = "";
v2 = "";
opr = "";
ced = 0;
e2 = 0;
return;
}
function do_percent() {
v2 = v1 * document.cal.calD.value / 100;
document.cal.calD.value = v2;
return;
}
function do_reciprocal() {
calculate();
var cD = document.cal.calD.value;
document.cal.calD.value = ( 1 / cD );
return;
}
function do_sqrt() {
calculate();
var cD = document.cal.calD.value;
document.cal.calD.value = Math.sqrt( cD );
return;
}
function do_delete() {
var cD = document.cal.calD.value;
cD = cD.substr( 0, ( cD.length - 1 ) );
document.cal.calD.value = cD;
return;
}
function do_cancel() {
calculate();
return false;
}
function check_mdown() {
var e = window.event;
if( e.srcElement.name == "query" ) {
document.detachEvent( 'onkeydown', check_str );
_cal = 0;
} else {
if( !_cal ) document.attachEvent( 'onkeydown', check_str );
_cal = 1;
}
return false;
}
function check_str() {
var e = window.event;
if( e.shiftKey ) {
e.cancleBubble = true;
e.returnValue = false;
switch( e.keyCode ) {
case 53: // "%"
enter_opr( "%" );
break;
case 56: // "*"
enter_opr( "*" );
break;
case 187: // "+"
enter_opr( "+" );
break;
default:
break;
}
} else {
if( 48 <= e.keyCode && e.keyCode <= 57 ) {
e.cancleBubble = true;
e.returnValue = false;
enter_num( String.fromCharCode( e.keyCode ) );
} else if( 96 <= e.keyCode && e.keyCode <= 105 ) {
e.cancleBubble = true;
e.returnValue = false;
enter_num( String.fromCharCode( e.keyCode - 48 ) );
} else if( e.keyCode == 110 || e.keyCode == 190 ) {
e.cancleBubble = true;
e.returnValue = false;
enter_num( "." );
} else {
switch( e.keyCode ) {
case 13:
e.cancleBubble = true;
e.returnValue = false;
calculate();
break; // enter
case 8: break; // back space
case 35: break; // end
case 36: break; // home
case 37: break; // arrow ←
case 38: break; // arrow ↑
case 39: break; // arrow →
case 40: break; // arrow ↓
case 46: break; // delete
case 106: // "*"
e.cancleBubble = true;
e.returnValue = false;
enter_opr( "*" );
break;
case 107: // "+"
e.cancleBubble = true;
e.returnValue = false;
enter_opr( "+" );
break;
case 109: // "-"
e.cancleBubble = true;
e.returnValue = false;
enter_opr( "-" );
break;
case 111: // "/"
e.cancleBubble = true;
e.returnValue = false;
enter_opr( "/" );
break;
case 187: // "="
e.cancleBubble = true;
e.returnValue = false;
calculate();
break;
case 189: // "-"
e.cancleBubble = true;
e.returnValue = false;
enter_opr( "-" );
break;
case 191:
e.cancleBubble = true;
e.returnValue = false;
enter_opr( "/" );
break;
default :
e.cancleBubble = true;
e.returnValue = false;
break;
}
}
}
return;
}
document.write( "<table border=0 cellpadding=0 cellspacing=0>" );
document.write( "<tr>" );
document.write( " <form name=cal onsubmit='return do_cancel();'>" );
document.write( " <td width=34 nowrap></td>" );
document.write( " <td>" );
document.write( " <table border=0 cellpadding=0 cellspacing=0 width=251>" );
document.write( " <tr><td colspan=3 height=1 nowrap bgcolor=C3CACD></td></tr>" );
document.write( " <tr>" );
document.write( " <td width=1 nowrap bgcolor=C3CACD></td>" );
document.write( " <td width=249 height=147 bgcolor=F1F6F8 align=center>" );
document.write( " <table border=0 cellpadding=0 cellspacing=0>" );
document.write( " <tr>" );
document.write( " <td colspan=9><textarea name=calHD style='display:none;'></textarea><input name=calD type=text size=27 style='height:23; border:1 solid C3CACD' value='0'></td>" );
document.write( " <td width=5 nowrap></td>" );
document.write( " <td><a href=# onclick='do_copy();'><img src="http://www.blueb.co.kr/SRC/javascript/image2/cal_code14_01.gif border=0></a></td>" );
document.write( " </tr>" );
document.write( " <tr><td colspan=11 height=7 nowrap></td></tr>" );
document.write( " <tr>" );
document.write( " <td><a href=# onclick='enter_num("7");'><img src="http://www.blueb.co.kr/SRC/javascript/image2/cal_num7.gif border=0 alt=7></a></td>" );
document.write( " <td width=5 nowrap></td>" );
document.write( " <td><a href=# onclick='enter_num("8");'><img src="http://www.blueb.co.kr/SRC/javascript/image2/cal_num8.gif border=0 alt=8></a></td>" );
document.write( " <td width=5 nowrap></td>" );
document.write( " <td><a href=# onclick='enter_num("9");'><img src="http://www.blueb.co.kr/SRC/javascript/image2/cal_num9.gif border=0 alt=9></a></td>" );
document.write( " <td width=5 nowrap></td>" );
document.write( " <td><a href=# onclick='enter_opr("/");'><img src="http://www.blueb.co.kr/SRC/javascript/image2/cal_code10.gif border=0 alt=나누기></a></td>" );
document.write( " <td width=5 nowrap></td>" );
document.write( " <td><a href=# onclick='do_sqrt();'><img src="http://www.blueb.co.kr/SRC/javascript/image2/cal_code11.gif border=0 alt=√></a></td>" );
document.write( " <td width=5 nowrap></td>" );
document.write( " <td><a href=# onclick='do_delete();'><img src="http://www.blueb.co.kr/SRC/javascript/image2/cal_code12.gif border=0 alt=한칸지우기></a></td>" );
document.write( " </tr>" );
document.write( " <tr><td colspan=11 height=5 nowrap></td></tr>" );
document.write( " <tr>" );
document.write( " <td><a href=# onclick='enter_num("4");'><img src="http://www.blueb.co.kr/SRC/javascript/image2/cal_num4.gif border=0 alt=4></a></td>" );
document.write( " <td width=5 nowrap></td>" );
document.write( " <td><a href=# onclick='enter_num("5");'><img src="http://www.blueb.co.kr/SRC/javascript/image2/cal_num5.gif border=0 alt=5></a></td>" );
document.write( " <td width=5 nowrap></td>" );
document.write( " <td><a href=# onclick='enter_num("6");'><img src="http://www.blueb.co.kr/SRC/javascript/image2/cal_num6.gif border=0 alt=6></a></td>" );
document.write( " <td width=5 nowrap></td>" );
document.write( " <td><a href=# onclick='enter_opr("*");'><img src="http://www.blueb.co.kr/SRC/javascript/image2/cal_code07.gif border=0 alt=곱하기></a></td>" );
document.write( " <td width=5 nowrap></td>" );
document.write( " <td><a href=# onclick='do_percent("%");'><img src="http://www.blueb.co.kr/SRC/javascript/image2/cal_code08.gif border=0 alt=퍼센트></a></td>" );
document.write( " <td width=5 nowrap></td>" );
document.write( " <td><a href=# onclick='do_clear();'><img src="http://www.blueb.co.kr/SRC/javascript/image2/cal_code06.gif border=0 alt=모두지우기></a></td>" );
document.write( " </tr>" );
document.write( " <tr><td colspan=11 height=5 nowrap></td></tr>" );
document.write( " <tr>" );
document.write( " <td><a href=# onclick='enter_num("1");'><img src="http://www.blueb.co.kr/SRC/javascript/image2/cal_num1.gif border=0 alt=1></a></td>" );
document.write( " <td width=5 nowrap></td>" );
document.write( " <td><a href=# onclick='enter_num("2");'><img src="http://www.blueb.co.kr/SRC/javascript/image2/cal_num2.gif border=0 alt=2></a></td>" );
document.write( " <td width=5 nowrap></td>" );
document.write( " <td><a href=# onclick='enter_num("3");'><img src="http://www.blueb.co.kr/SRC/javascript/image2/cal_num3.gif border=0 alt=3></a></td>" );
document.write( " <td width=5 nowrap></td>" );
document.write( " <td><a href=# onclick='enter_opr("-");'><img src="http://www.blueb.co.kr/SRC/javascript/image2/cal_code04.gif border=0 alt=빼기></a></td>" );
document.write( " <td width=5 nowrap></td>" );
document.write( " <td><a href=# onclick='do_reciprocal();'><img src="http://www.blueb.co.kr/SRC/javascript/image2/cal_code05.gif border=0 alt=1/x></a></td>" );
document.write( " <td width=5 nowrap></td>" );
document.write( " <td rowspan=3><a href=# onclick='calculate();'><img src="http://www.blueb.co.kr/SRC/javascript/image2/cal_code16.gif border=0 alt==></a></td>" );
document.write( " </tr>" );
document.write( " <tr><td colspan=10 height=5 nowrap></td></tr>" );
document.write( " <tr>" );
document.write( " <td><a href=# onclick='enter_num("0");'><img src="http://www.blueb.co.kr/SRC/javascript/image2/cal_num0.gif border=0 alt=0></a></td>" );
document.write( " <td width=5 nowrap></td>" );
document.write( " <td><a href=# onclick='enter_num("00");'><img src="http://www.blueb.co.kr/SRC/javascript/image2/cal_code15.gif border=0 alt=00></a></td>" );
document.write( " <td width=5 nowrap></td>" );
document.write( " <td><a href=# onclick='do_convert();'><img src="http://www.blueb.co.kr/SRC/javascript/image2/cal_code01.gif border=0 alt=+/-></a></td>" );
document.write( " <td width=5 nowrap></td>" );
document.write( " <td><a href=# onclick='enter_num(".");'><img src="http://www.blueb.co.kr/SRC/javascript/image2/cal_code02.gif border=0 alt=.></a></td>" );
document.write( " <td width=5 nowrap></td>" );
document.write( " <td><a href=# onclick='enter_opr("+");'><img src="http://www.blueb.co.kr/SRC/javascript/image2/cal_code03.gif border=0 alt=더하기></a></td>" );
document.write( " <td width=5 nowrap></td>" );
document.write( " </tr>" );
document.write( " </table>" );
document.write( " </td>" );
document.write( " <td width=1 nowrap bgcolor=A6ACAE></td>" );
document.write( " </tr>" );
document.write( " <tr><td colspan=3 width=251 height=1 nowrap bgcolor=A6ACAE></td></tr>" );
document.write( " </table>" );
document.write( " </td>" );
document.write( " <td>" );
document.write( " <table border=0 cellpadding=0 cellspacing=0><tr><td width=2 height=2></td></tr><tr><td width=2 height=147 nowrap bgcolor=E0E4E6></td></tr></table>" );
document.write( " </td>" );
document.write( "</tr>" );
document.write( "<tr>" );
document.write( " <td></td>" );
document.write( " <td colspan=2>" );
document.write( " <table border=0 cellpadding=0 cellspacing=0><tr><td width=2 height=2 nowrap></td><td width=251 height=2 bgcolor=E0E4E6 nowrap></td></tr></table>" );
document.write( " </td>" );
document.write( " </form>" );
document.write( "</tr>" );
document.write( "</table>" );
_dom = 2;
document.onmousedown = check_mdown;
do_clear();
</script>
키보드 입력 가능합니다..
댓글목록
등록된 댓글이 없습니다.