-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathscript.js
119 lines (99 loc) · 2.61 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
110
111
112
113
114
115
116
117
118
119
let display = document.querySelector('.display')
let firstNum = 0
let secondNum = 0
let selectedOperator = ''
let resetSwitch = false
let add = document.querySelector('.add')
let subtract = document.querySelector('.subtract')
let multiply = document.querySelector('.multiply')
let divide = document.querySelector('.divide')
display.textContent = firstNum
function updateDisplay(input){
// remove leading zeros
display.textContent += input
if (Array.from(display.textContent)[0] == ('0' || 0)) {
display.textContent = display.textContent.slice(1)
}
}
function clearFunc(){
display.textContent = 0
firstNum = 0
secondNum = 0
selectedOperator = ''
}
function resetDisplay() {
display.textContent = 0
resetSwitch = false
}
let numbers = document.querySelectorAll('.num')
numbers.forEach(item => {
item.addEventListener('click', () => {
if (resetSwitch) {
if (selectedOperator.length > 1) {
resetDisplay()
}
}
updateDisplay(item.textContent)
})
})
let clear = document.querySelector('.clear')
clear.addEventListener('click', () => {
clearFunc('')
})
function loadFirstNum() {
firstNum = display.textContent
}
function addFunc(){
loadFirstNum()
selectedOperator = 'add'
resetSwitch = true
}
function subtractFunc(){
loadFirstNum()
selectedOperator = 'subtract'
resetSwitch = true
}
function multiplyFunc(){
loadFirstNum()
selectedOperator = 'multiply'
resetSwitch = true
}
function divideFunc(){
loadFirstNum()
selectedOperator = 'divide'
resetSwitch = true
}
add.addEventListener('click', addFunc)
subtract.addEventListener('click', subtractFunc)
multiply.addEventListener('click', multiplyFunc)
divide.addEventListener('click', divideFunc)
function total(a,b) {
if (selectedOperator == 'add') {
return (+a + +b).toFixed(2)
} else if (selectedOperator == 'subtract') {
return (+a - +b).toFixed(2)
} else if (selectedOperator == 'multiply') {
return (+a * +b).toFixed(2)
} else if (selectedOperator == 'divide') {
return (+a / +b).toFixed(2)
}
}
function isWhole(n) {
var result = (n - Math.floor(n)) !== 0;
if (result)
return false;
else
return true;
}
function loadSecondNum() {
secondNum = display.textContent
newNum = total(firstNum,secondNum)
if (isWhole(newNum)) {
newNum = Math.trunc(newNum)
display.textContent = newNum
} else {
display.textContent = newNum
}
}
let equals = document.querySelector(".equals")
equals.addEventListener('click', loadSecondNum)