-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcalculator.js
More file actions
56 lines (44 loc) · 1.86 KB
/
calculator.js
File metadata and controls
56 lines (44 loc) · 1.86 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
var calculator = function() {
var createdElement = calciOuterDiv.divElem();
var outerDivElem = createdElement;
var displayElem = Object.create(calciInputText),
dispElem = displayElem.display();
dispElem.className = 'inputField';
outerDivElem.appendChild(dispElem);
var buttonContainer = document.createElement('div');
buttonContainer.className = 'buttonContainerClass';
for (var i = 0; i < ButtonInfo.data.length; i++) {
var btn, elem;
if (ButtonInfo.data[i].type == 'arthimetic') {
btn = Object.create(arthimeticButton),
elem = btn.btnElem();
elem.className = 'arth_btnClass';
} else if (ButtonInfo.data[i].type == 'equalType') {
btn = Object.create(numericButton),
elem = btn.btnElem();
elem.className = 'eq_btnClass';
} else {
btn = Object.create(numericButton),
elem = btn.btnElem();
elem.className = 'num_btnClass';
}
elem.innerHTML = ButtonInfo.data[i].value;
elem.name = ButtonInfo.data[i].type;
buttonContainer.appendChild(elem);
}
window.onload = function() {
var containerBtns = document.getElementsByClassName('buttonContainerClass');
for (var i = 0; i < containerBtns.length; i++) {
containerBtns[i].addEventListener('click', function(j, event) {
console.log(event.target);
if (event.target.name == 'arthimetic' || event.target.name == 'equalType') {
arthButtonCtrl(event.target, j);
} else {
numButtonCtrl(event.target, j);
}
}.bind(window, i), false);
}
}
outerDivElem.appendChild(buttonContainer);
return outerDivElem;
}