-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathjscript1.js
More file actions
95 lines (78 loc) · 2.99 KB
/
jscript1.js
File metadata and controls
95 lines (78 loc) · 2.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
85
86
87
88
89
90
91
92
93
94
95
var input=document.getElementById('input'),
number= document.querySelectorAll('.numbers div'),
operator = document.querySelectorAll('.operators div'),
result = document.getElementById('result'),
clear= document.getElementById('clear'),
resultDisplayed = false;
for (var i = 0; i < number.length; i++) {
number[i].addEventListener("click",function(e){
var currentString = input.innerHTML;
var lastChar = currentString [currentString.length-1];
if (resultDisplayed === false) {
input.innerHTML +=e.target.innerHTML;
}
else if( resultDisplayed=== true && lastChar === "+" || lastChar === "-" || lastChar === "×" || lastChar === "÷"){
resultDisplayed = false;
input.innerHTML += e.target.innerHTML;
}
else{
resultDisplayed = false;
input.innerHTML="";
input.innerHTML += e.target.innerHTML;
}
});
}
for (var i = 0; i < operator.length; i++) {
operator[i].addEventListener("click",function(e){
var currentString = input.innerHTML;
var lastChar = currentString[currentString.length-1];
if(lastChar === "+" || lastChar === "-" || lastChar === "×" || lastChar === "÷"){
var newString =currentString.substring(0,currentString.length-1)+ e.target.innerHTML;
input.innerHTML = newString;
}
else if(currentString.length == 0){
console.log("enter a number first");
}
else{
input.innerHTML += e.target.innerHTML;
}
});
}
result.addEventListener("click", function(){
var inputString=input.innerHTML;
var numbers = inputString.split(/\+|\-|\×|\÷/g);
var operators = inputString.replace(/[0-9]|\./g, "").split("");
console.log(inputString);
console.log(operators);
console.log(numbers);
console.log(" _ _ _ _ _")
var divide = operators.indexOf("÷");
while (divide != -1) {
numbers.splice(divide,2,numbers[divide]/numbers[divide+1]);
operators.splice(divide,1);
divide = operators.indexOf("÷");
}
var multiply = operators.indexOf("×");
while (multiply != -1) {
numbers.splice(multiply,2,numbers[multiply] * numbers[multiply+1]);
operators.splice(multiply,1);
multiply=operators.indexOf("×");
}
var subtract = operators.indexOf("-");
while (subtract != -1) {
numbers.splice(subtract,2,numbers[subtract]- numbers[subtract+1]);
operators.splice(subtract,1);
subtract=operators.indexOf("-");
}
var add = operators.indexOf("+");
while (add != -1) {
numbers.splice(add,2,parseFloat (numbers[add])+ parseFloat (numbers[add+1]));
operators.splice(add,1);
add=operators.indexOf("+");
}
input.innerHTML = numbers[0];
resultDisplayed = true;
});
clear.addEventListener("click",function(){
input.innerHTML = "";
})