-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathscript.js
More file actions
99 lines (78 loc) · 3.19 KB
/
Copy pathscript.js
File metadata and controls
99 lines (78 loc) · 3.19 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
let previousValue = "" // para el valor numérico
let currentOperator = "" // para guardar el operador a utilizar
const myContenedor = document.getElementById("divButtons")
const currentResult = document.getElementById("currentResult")
const finalResult = document.getElementById("finalResult")
myContenedor.addEventListener("click", function(event) {
const elementTarget = event.target.closest("[data-value]")
if (!elementTarget) return
const valueOption = elementTarget.dataset.value
if (elementTarget.classList.contains("buttonNumber")) {
currentResult.textContent += valueOption
} else if (elementTarget.classList.contains("buttonOperator")) {
if (currentResult.textContent !=="" && currentOperator !=="" && previousValue !== ""){
let num1 = Number(previousValue)
let num2 = Number(currentResult.textContent)
switch (currentOperator) {
case "+":
previousValue = num1 + num2
break;
case "-":
previousValue = num1 - num2
break;
case "x":
previousValue = num1 * num2
break;
case "/":
previousValue = num1 / num2
break;
default:
break;
}
} else if (currentResult.textContent === "" && previousValue === "") {
previousValue = finalResult.textContent
} else if (currentResult.textContent === "" && previousValue !=="") {
} else {
previousValue = currentResult.textContent
}
currentResult.textContent = ""
currentOperator = valueOption
} else if (elementTarget.classList.contains("buttonClear")) {
previousValue = ""
currentOperator = ""
currentResult.textContent = ""
finalResult.textContent = ""
} else if (elementTarget.classList.contains("buttonResult")) {
let num1 = Number(previousValue)
let num2 = Number(currentResult.textContent)
switch (currentOperator) {
case "+":
finalResult.textContent = num1 + num2
break;
case "-":
finalResult.textContent = num1 - num2
break;
case "x":
finalResult.textContent = num1 * num2
break;
case "/":
finalResult.textContent = num1 / num2
break;
default:
break;
}
previousValue = ""
currentOperator = ""
currentResult.textContent = ""
} else if (elementTarget.classList.contains("buttonSpecial")) {
if (currentResult.textContent === ""){
finalResult.textContent = Number(finalResult.textContent) * -1
} else {
currentResult.textContent = Number(currentResult.textContent) * -1
}
} else if (elementTarget.classList.contains("buttonDecimal")) {
if (!(currentResult.textContent.includes("."))){
currentResult.textContent += valueOption
}
}
})