-
Notifications
You must be signed in to change notification settings - Fork 0
/
script.js
86 lines (70 loc) · 1.92 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
const calculatorScreen=document.querySelector('.calculator-screen')
const updateScreen=(number)=>{
calculatorScreen.value = number
}
const numbers=document.querySelectorAll(".number")
numbers.forEach((number)=>{
number.addEventListener("click",(event)=>{
inputNumber(event.target.value)
updateScreen(currentInput)
})
})
let prevInput='0'
let calculationOperator=''
let currentInput='0'
const inputNumber=(number)=>{
if(currentInput === '0'){
currentInput=number
}else{
currentInput+=number
}
}
const inputOperator=(operator)=>{
prevInput=currentInput
calculationOperator=operator
currentInput='0'
}
const operators=document.querySelectorAll(".operator")
operators.forEach((operator)=>{
operator.addEventListener("click",(event)=>{
inputOperator(event.target.value)
// currentInput='0'
})
})
const equalSign = document.querySelector('.equal-sign')
equalSign.addEventListener('click',()=>{
calculate()
updateScreen(currentInput)
})
const calculate = ()=>{
console.log(1)
let result=0
switch(calculationOperator){
case '+':
result=parseInt(prevInput)+parseInt(currentInput)
break
case '-':
result=parseInt(prevInput)-parseInt(currentInput)
break
case '*':
result=parseInt(prevInput)*parseInt(currentInput)
break
case '/':
result=parseInt(prevInput)/parseInt(currentInput)
break
default:
return
}
currentInput=result.toString()
calculationOperator=''
}
const clearBtn = document.querySelector('.all-clear')
clearBtn.addEventListener("click",()=>{
clearAll()
updateScreen(currentInput)
})
const clearAll=()=>{
prevInput='0'
calculationOperator=''
currentInput='0'
}