-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathscript.js
More file actions
61 lines (53 loc) · 1.79 KB
/
script.js
File metadata and controls
61 lines (53 loc) · 1.79 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
var minusButton = document.querySelector('.button[data-value="-"]');
var plusButton = document.querySelector('.button[data-value="+"]');
var multiButton = document.querySelector('.button[data-value="*"]');
var divisionButton = document.querySelector('.button[data-value="/"]');
var equalButton = document.querySelector('.button[data-value="="]');
var digitButtons = document.querySelectorAll('.button-digit');
var pointButton = document.querySelector('.button[data-value="."]');
var resetButton = document.querySelector('.button-reset');
var input = document.querySelector('.form');
var left;
var op;
var right;
function onOperationButtonClick(event) {
left = +input.value;
op = event.target.textContent;
input.value = '';
}
for(var i = 0; i < digitButtons.length; i++) {
var button = digitButtons[i];
button.addEventListener('click', function (event) {
input.value += event.target.textContent;
});
}
minusButton.addEventListener('click', onOperationButtonClick);
plusButton.addEventListener('click', onOperationButtonClick);
multiButton.addEventListener('click', onOperationButtonClick);
divisionButton.addEventListener('click', onOperationButtonClick);
resetButton.addEventListener('click', function () {
left = 0;
right = 0;
op = null;
input.value = null;
})
pointButton.addEventListener('click', function (event) {
input.value += event.target.textContent;
})
equalButton.addEventListener('click', function () {
right = +input.value;
switch (op) {
case '-':
input.value = left - right;
break;
case '+':
input.value = left + right;
break;
case '*':
input.value = left * right;
break;
case '/':
input.value = left / right;
break;
}
})