Javascript로 만든 계산기 입니다.
|
||||
|
'Coding > JavsScript 삽질기' 카테고리의 다른 글
[Javascript] Floppy Bird 게임 만들기 (0) | 2022.09.19 |
---|---|
JsCalculator 개인정보처리방침 / JsCalculator Privacy Policy (0) | 2022.08.24 |
만델브로트 집합 그리기2 (0) | 2022.02.03 |
Javascript로 만든 계산기 입니다.
|
||||
|
[Javascript] Floppy Bird 게임 만들기 (0) | 2022.09.19 |
---|---|
JsCalculator 개인정보처리방침 / JsCalculator Privacy Policy (0) | 2022.08.24 |
만델브로트 집합 그리기2 (0) | 2022.02.03 |
* Javascript로 만든 계산기
http://www.chobocho.com/javascript/calc.html
* 문법
# : 주석
변수 수식 ::= 변수에 수식을 대입한다
= 수식 ::= 수식을 계산한다
* Source : https://github.com/chobocho/Calc
공백을 제거해주는 스크립트 (0) | 2018.04.02 |
---|---|
Sam Loyd's unsolvable 15-puzzle (0) | 2017.02.05 |
Puzzle game (0) | 2017.01.22 |
<HTML>
<head>
<title>Chobocho's Simple Calculator</title>
<style>
.tile {
text-align:center;
width:40px;
height:40px;
font-size:24px;
background-color:"white";
border:1px solid black;
box-shadow:black 1px 1px;
}
textarea {
height:100px;
width:200px;
text-align:right;
font-size:24px;
border:1px solid black;
box-shadow:black 1px 1px;
padding:2px;
}
</style>
<script language="JavaScript">
var sum = 0;
var ret = "";
var keypadValue = [ "AC", "←", "(", ")", "7", "8", "9", "÷", "4", "5", "6", "×", "1", "2", "3", "-", "0", ".", "=", "+" ];
function init() {
var table = document.getElementById("keypad");
window.onkeydown = onKeyDown;
window.onkeyup = onKeyUp;
for (var i = 0; i < 5; i++) {
var tr = document.createElement("tr");
for (var j = 0; j < 4; j++) {
var td = document.createElement("td");
td.className="tile";
var idx = i*4 + j;
td.value = idx;
td.index = idx;
td.textContent = keypadValue[idx];
td.onclick = onClick;
tr.appendChild(td);
}
table.appendChild(tr);
}
}
function onKeyUp(e) {
}
function onKeyDown(e) {
}
function onClick(e) {
var clkTile = e.srcElement.index;
var isClickEqual = false;
switch(clkTile) {
case 0 : // AC
sum = 0;
ret = "";
break;
case 1 : // <-
ret = ret.slice(0,-1);
break;
case 2 : // (
case 3 : // )
case 4 : // 7
case 5 : // 8
case 6 : // 9
case 7 : // ÷
case 8 : // 4
case 9 :
case 10 :
case 11 : // x
case 12 :
case 13 :
case 14 :
case 16 : // 0
case 19 : // +
ret = ret + keypadValue[clkTile];
break;
case 15 : // -
if (ret == "") {
ret = "-";
} else {
ret = ret + "-";
}
break;
case 17 : // .
if (ret == "") {
ret = "0.";
} else {
ret = ret + ".";
}
break;
case 18 : // =
if (ret == "" && sum != 0) {
ret = sum;
} else {
ret = ret.replace(/×/g, "*").replace(/÷/g, "/");
try {
sum = eval(ret);
} catch(e) {
sum = "Error";
}
ret = "";
}
isClickEqual = true;
break;
default:
break;
}
console.log("Exp : " + ret + " Sum : " + sum);
document.getElementById("result").value = isClickEqual ? sum : ret;
}
</script>
</head>
<body onload="init()">
<table id="keypad" align="center">
<tr>
<td colspan=4>
<textarea id="result" disabled=true cols="35" rows="1"></textarea>
</td>
</tr>
</table>
</body>
</HTML>
Puzzle game (0) | 2017.01.22 |
---|---|
Clock (0) | 2016.10.25 |
Puzzle (0) | 2016.10.25 |
2016년 목표 중 하나인 Javascript 계산기를 만들기 시작했다
Chrome의 디버깅 기능을 첨 써보고 감동 받았다. ^^;
Samll lisp by Javascript (0) | 2016.09.12 |
---|---|
글자수 세는 자바 스크립트 (2) | 2011.11.15 |
Google chart API를 이용한 QR CODE 생성기 (3) | 2010.11.30 |