-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathindex.js
48 lines (42 loc) · 1.44 KB
/
index.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
import {sum, subtract, multiply, divide} from "./calculator.js"
let output = document.querySelector("#output")
let firstNumber = 0
let operation = null
let resetAfterOperation = false
document.querySelectorAll("#calculator .number").forEach(button => {
button.addEventListener("click", event => {
let value = event.currentTarget.textContent
if (resetAfterOperation) {
output.value = value
resetAfterOperation = false
} else {
output.value += value
}
})
})
document.querySelectorAll("#calculator .operation").forEach(button => {
button.addEventListener("click", event => {
firstNumber = Number.parseInt(output.value)
operation = event.currentTarget.dataset.action
resetAfterOperation = true
})
})
const equal = document.querySelector("#calculator .equal")
equal.addEventListener("click", () => {
if (!operation){
return
}
resetAfterOperation = true
let secondNumber = Number.parseInt(output.value, 10)
if (operation === "sum") {
output.value = sum(firstNumber, secondNumber)
} else if (operation === "subtract") {
output.value = subtract(firstNumber, secondNumber)
} else if (operation === "multiply") {
output.value = multiply(firstNumber, secondNumber)
} else if (operation === "divide") {
output.value = divide(firstNumber, secondNumber)
}
//reset operation
operation = null
})