Delete extra script file
This commit is contained in:
parent
aa347f1ecb
commit
85ab656c75
3 changed files with 59 additions and 210 deletions
107
script.js
107
script.js
|
|
@ -1,34 +1,76 @@
|
|||
const mainScreen = document.querySelector(".main-screen");
|
||||
const topScreen = document.querySelector(".top-screen");
|
||||
const buttons = document.querySelectorAll("button");
|
||||
const numButtons = document.querySelectorAll(".num");
|
||||
const equalButton = document.querySelector(".equal");
|
||||
const opButtons = document.querySelectorAll(".operator");
|
||||
const clearButtons = document.querySelectorAll(".clear");
|
||||
const operators = ["+", "-", "*", "/"];
|
||||
let inOps = false;
|
||||
let isEval = false;
|
||||
|
||||
|
||||
buttons.forEach((button) => {
|
||||
button.addEventListener ("click", displayToScreen);
|
||||
numButtons.forEach((button) => {
|
||||
button.addEventListener("click", displayNum);
|
||||
});
|
||||
|
||||
opButtons.forEach((button) => {
|
||||
button.addEventListener("click", displayOperator);
|
||||
});
|
||||
|
||||
function displayToScreen() {
|
||||
console.log("inOps:", inOps);
|
||||
console.log("isEval:", isEval);
|
||||
clearButtons.forEach((button) => {
|
||||
button.addEventListener("click", clear);
|
||||
});
|
||||
|
||||
if (this.className == "equal") {
|
||||
equalButton.addEventListener("click", displayEval);
|
||||
|
||||
|
||||
function displayEval() {
|
||||
let calc = new Calculator;
|
||||
let result = 0
|
||||
|
||||
if (topScreen.textContent === "0") {
|
||||
calc.calculate(mainScreen.textContent);
|
||||
} else {
|
||||
topScreen.textContent += mainScreen.textContent;
|
||||
console.log("main: " + mainScreen.textContent);
|
||||
result = calc.calculate(topScreen.textContent);
|
||||
}
|
||||
|
||||
mainScreen.textContent = result;
|
||||
inOps = false;
|
||||
}
|
||||
|
||||
|
||||
function displayOperator() {
|
||||
let result = 0
|
||||
|
||||
if (topScreen.textContent == "" || !inOps) {
|
||||
topScreen.textContent = mainScreen.textContent + " " + this.textContent + " ";
|
||||
} else {
|
||||
let calc = new Calculator;
|
||||
inOps = true;
|
||||
|
||||
if (isEval) {
|
||||
topScreen.textContent = mainScreen.textContent;
|
||||
isEval = false;
|
||||
} else {
|
||||
topScreen.textContent += mainScreen.textContent;
|
||||
}
|
||||
topScreen.textContent += mainScreen.textContent;
|
||||
result = calc.calculate(topScreen.textContent);
|
||||
|
||||
mainScreen.textContent = calc.calculate(topScreen.textContent);
|
||||
topScreen.textContent = result + " " + this.textContent + " ";
|
||||
}
|
||||
|
||||
} else if (this.classList.contains("all")) {
|
||||
mainScreen.textContent = 0;
|
||||
inOps = true;
|
||||
}
|
||||
|
||||
|
||||
function displayNum() {
|
||||
if (mainScreen.textContent == "0") {
|
||||
mainScreen.textContent = this.textContent;
|
||||
} else {
|
||||
mainScreen.textContent += this.textContent;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
function clear() {
|
||||
if (this.classList.contains("all")) {
|
||||
mainScreen.textContent = "0";
|
||||
topScreen.textContent = "";
|
||||
|
||||
|
|
@ -43,39 +85,6 @@ function displayToScreen() {
|
|||
if (mainScreen.textContent === "") {
|
||||
mainScreen.textContent = "0"
|
||||
}
|
||||
} else {
|
||||
if (this.className == "operator") {
|
||||
let screenContent = topScreen.textContent;
|
||||
inOps = true;
|
||||
|
||||
if (isEval) {
|
||||
topScreen.textContent = mainScreen.textContent + " " + this.textContent + " "
|
||||
isEval = false
|
||||
} else {
|
||||
topScreen.textContent += mainScreen.textContent + " " + this.textContent + " ";
|
||||
}
|
||||
|
||||
// Add some logic for handling negatives with -
|
||||
// Add key support
|
||||
// limit character size in mainScreen -- first step is to move numbers from the main mainScreen to somewhere else every time a new operator is used and then change what gets sent to the calculator to that new location
|
||||
|
||||
for (let i = 0; i < screenContent.length; i++ ) {
|
||||
if (operators.includes(screenContent[i])) {
|
||||
let calc = new Calculator;
|
||||
let result = calc.calculate(topScreen.textContent);
|
||||
mainScreen.textContent = result;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
} else if ((mainScreen.textContent === "0" || inOps) && this.className == "num") {
|
||||
mainScreen.textContent = this.textContent;
|
||||
inOps = false;
|
||||
|
||||
} else if (this.className == "num" && !inOps) {
|
||||
mainScreen.textContent += this.textContent;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue