-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmain.js
91 lines (70 loc) · 2.34 KB
/
main.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
const numberButtons = document.querySelectorAll(".number");
const operatorButtons = document.querySelectorAll(".operator");
const clearButton = document.querySelector(".clear");
const deleteButton = document.querySelector(".del");
const equalsButton = document.querySelector(".equals");
const firstScreen = document.querySelector(".first-screen");
const secondScreen = document.querySelector(".second-screen");
let previousOperand = "", currentOperand = "", operator = undefined;
numberButtons.forEach(numberButton => {
numberButton.addEventListener("click", () => {
appendNumber(numberButton.innerText);
});
});
operatorButtons.forEach(operatorButton => {
operatorButton.addEventListener("click", () => {
appendOperator(operatorButton.innerText);
});
});
function appendNumber(number){
if (number === "." && currentOperand.includes(number)) return
currentOperand += number;
updateScreen();
}
function appendOperator(operaParam){
if (!currentOperand) return
previousOperand = currentOperand;
operator = operaParam;
currentOperand = "";
updateScreen();
}
function calculateFunc(){
let answer;
previousOperand = Number(previousOperand);
currentOperand = Number(currentOperand);
if (operator === "+") {
answer = previousOperand + currentOperand;
} else if(operator === "-") {
answer = previousOperand - currentOperand;
} else if (operator === "×"){
answer = previousOperand * currentOperand;
} else if (operator === "÷"){
answer = previousOperand / currentOperand;
} else if (operator === "%"){
answer = previousOperand / currentOperand;
}
clearFunc();
currentOperand = answer.toString();
updateScreen();
}
function updateScreen(){
if (operator !== undefined) {
firstScreen.innerText = `${previousOperand} ${operator}`;
} else{
firstScreen.innerText = `${previousOperand}`;
}
secondScreen.innerText = currentOperand
}
function clearFunc(){
currentOperand = "";
previousOperand = "";
operator = undefined;
updateScreen();
}
function deleteFunc(){
currentOperand = currentOperand.slice(0, -1);
updateScreen();
}
clearButton.addEventListener("click", clearFunc);
deleteButton.addEventListener("click", deleteFunc);
equalsButton.addEventListener("click", calculateFunc);