-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmain.js
More file actions
84 lines (64 loc) · 1.99 KB
/
main.js
File metadata and controls
84 lines (64 loc) · 1.99 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
let output = document.querySelector(".calculator__output")
var btns = document.querySelectorAll(".btn")
btns.forEach(btn => btn.addEventListener("click", operations))
let switchToggle = document.querySelector('.button-switch')
switchToggle.addEventListener('click', toggleTheme)
function operations (event){
event.preventDefault()
let key = event.target
let action = key.dataset.operation
let value = key.textContent //keyContent
let outputNum = output.textContent
let firstValue = 0
btns.forEach(item => item.classList.remove('--is-depressed'))
let previousKeyType = key.dataset.previousKeyType
if (!action) {
if(outputNum === '0' || previousKeyType === 'operator') {
output.textContent = value
} else {
output.textContent = outputNum + value
}
}
if (action === 'reset') {
output.textContent = 0
}
if(
action === 'add' ||
action === 'substract' ||
action === 'multiply' ||
action === 'divide' ||
action === 'module'
) {
key.classList.add('--is-depressed')
key.dataset.firstValue = outputNum
key.dataset.operator = value
console.log(key.dataset.operator);
key.dataset.previousKeyType = 'operator'
if(key.dataset.previousKeyType === 'operator') {
output.textContent = ''
}
}
if(action === 'decimal') {
if(!outputNum.includes('.')) {
output.textContent = outputNum + '.'
}
}
if(action === 'calculate') {
firstValue = Number(key.dataset.firstValue)
let operator = key.dataset.operator
let secondValue = outputNum
console.log(operator);
console.log(firstValue)
output.textContent = calculate(firstValue, secondValue)
}
if(action === 'int') { console.log('negativo')}
}
function calculate(value1, value2) {
let result = ''
result= parseFloat(value1) + parseFloat(value2)
return result
}
function toggleTheme () {
let main = document.querySelector('.calculator')
main.classList.toggle('--dark-theme')
}