-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbasicCalculator.js
32 lines (32 loc) · 1.12 KB
/
basicCalculator.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
const inputEquation = document.querySelector(".simpleCalculator .equation");
const finalResult = document.querySelector(".simpleCalculator #enteryEquation");
const allButtons = Array.from(
document.querySelector(".simpleCalculator .buttons").children
);
allButtons.forEach((ele) => {
ele.addEventListener("click", async (e) => {
try {
e.target.className == "equal"
? inputEquation.innerText == ""
? null
: ((finalResult.value = eval(inputEquation.innerText)),
(inputEquation.innerText = ""))
: e.target.className == "clear"
? ((inputEquation.innerText = ""), (finalResult.value = ""))
: (inputEquation.innerText += e.target.innerText);
} catch (error) {
inputEquation.classList.add("error");
inputEquation.innerText = error;
allButtons.forEach((ele) => {
ele.setAttribute("disabled", true);
});
setTimeout(() => {
inputEquation.innerText = "";
inputEquation.classList.remove("error");
allButtons.forEach((ele) => {
ele.removeAttribute("disabled");
});
}, 3000);
}
});
});