-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathscript.js
More file actions
108 lines (92 loc) · 2.65 KB
/
Copy pathscript.js
File metadata and controls
108 lines (92 loc) · 2.65 KB
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
const displayEl = document.getElementById("input")
const numbersEl = document.querySelectorAll(".number")
// Buttons
const deleteBtnEl = document.getElementById("delete-button")
const deleteAllBtnEl = document.getElementById("delete-all-button")
const plusBtnEl = document.getElementById("plus-button")
const minusBtnEl = document.getElementById("minus-button")
const multiplicationBtnEl = document.getElementById("multiplication-button")
const divisionBtnEl = document.getElementById("division-button")
const equalsBtnEl = document.getElementById("equals-button")
let calculationJustDone = false
let a = 0
let operator = null
let b = null
function displayValue(number) {
displayEl.setAttribute('type', 'number')
if (displayEl.value === "0" || calculationJustDone) {
displayEl.value = number.innerHTML
} else {
displayEl.value += number.innerHTML
}
}
function cleanValue() {
displayEl.value = displayEl.value.slice(0, -1)
if (displayEl.value === "") {
displayEl.value = "0"
calculationJustDone = false
}
}
deleteAllBtnEl.addEventListener("click", () => {
displayEl.value = "0";
displayEl.setAttribute('type', 'number')
calculationJustDone = false
})
numbersEl.forEach((number) => {
number.addEventListener("click", () => displayValue(number))
})
deleteBtnEl.addEventListener("click", () => cleanValue())
plusBtnEl.addEventListener("click", () => {
a = parseFloat(displayEl.value)
operator = "+"
displayEl.value = 0
calculationJustDone = false
})
minusBtnEl.addEventListener("click", () => {
a = parseFloat(displayEl.value)
operator = "-"
displayEl.value = 0
calculationJustDone = false
})
multiplicationBtnEl.addEventListener("click", () => {
a = parseFloat(displayEl.value)
operator = "*"
displayEl.value = 0
calculationJustDone = false
})
divisionBtnEl.addEventListener("click", () => {
a = parseFloat(displayEl.value)
operator = "÷"
displayEl.value = 0
calculationJustDone = false
})
equalsBtnEl.addEventListener("click", () => {
b = parseFloat(displayEl.value)
switch (operator) {
case "+":
displayEl.value = a + b
calculationJustDone = true
break;
case "-":
displayEl.value = a - b
calculationJustDone = true
break;
case "*":
displayEl.value = a * b
calculationJustDone = true
break;
case "÷":
if (b === 0 || b === "0") {
displayEl.setAttribute('type', 'text')
displayEl.value = "we don't do that here"
calculationJustDone = true
} else {
displayEl.value = a / b
calculationJustDone = true
}
break;
case null:
displayEl.value = "0"
calculationJustDone = false
}
})