-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathscript.js
109 lines (102 loc) · 2.81 KB
/
script.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
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
const num = "C ← . X 7 8 9 / 4 5 6 - 1 2 3 + 0 00 =";
const numList = num.split(" ");
// const h1 = document.getElementById("title");
const h1 = document.createElement("h1");
const p = document.createElement("p");
const container = document.createElement("div");
const calculator = document.createElement("div");
const input_box = document.createElement("div");
const numBtn = document.createElement("div");
const input = document.createElement("input");
container.className = "container";
calculator.className = "calculator";
input_box.id = "inputBox";
numBtn.className = "nums";
input.id = "result";
h1.innerText = "Calculator";
h1.id = "title";
//p tag
p.innerText = "This is a calculator program that uses the DOM";
p.id = "description";
//body append
document.body.append(h1, p, container);
container.append(calculator);
calculator.append(input_box, numBtn);
const inputBox = document.getElementById("inputBox");
inputBox.append(input);
//This function button created
function buttons(valu) {
let element = document.createElement("button");
element.setAttribute("value", valu);
element.setAttribute("id", valu);
element.innerText = valu;
let btnList = element.innerText;
if (btnList == "C" || btnList === "←") {
switch (btnList === valu) {
//input value all clear
case valu === "C":
element.style.color = "red";
element.id = "clear";
element.value = "";
element.addEventListener("click", () => {
input.value = "";
});
break;
case valu === "←":
element.addEventListener("click", () => {
input.value = input.value.slice(0, -1);
});
element.value = "";
break;
}
}
if (
btnList === "X" ||
btnList === "/" ||
btnList === "-" ||
btnList === "+" ||
btnList === "."
) {
element.style.color = "blue";
switch (btnList === valu) {
case valu === "+":
element.id = "add";
break;
case valu === "-":
element.id = "subtract";
break;
case valu === "X":
element.id = "multiplication";
element.value = "*";
break;
case valu === "/":
element.id = "division";
break;
case valu === ".":
element.id = "point";
}
}
//Calculate values for result
if (btnList === "=") {
element.id = "equal";
element.value = "";
element.addEventListener("click", () => {
try {
input.value = eval(input.value);
} catch (error) {
alert("Only numbers are allowed");
input.value = "";
}
});
}
//iinserting the entered value
element.addEventListener("click", () => {
input.value += element.value;
});
return element;
}
//button value pushing
for (let i = 0; i < numList.length; i++) {
let inp = buttons(numList[i]);
numBtn.append(inp);
}