How to "reactivate" the + operator on a calculator, Javascript

29 views Asked by At

My calculator sets my + operator to true, meaning it can't be used again, but I need to activate the operator after a number has been clicked.

I tried using an else if statement to target the number buttons, so when it is 'clicked' it will set the + operator to false again, it did not work.

"use strict";

const clearBtn = document.querySelector("[data-clear]");
const deleteBtn = document.querySelector("[data-delete]");
const opBtn = document.querySelectorAll("[data-operation]");
const numBtn = document.querySelectorAll("[data-number]");
const equalsBtn = document.querySelector("[data-equals]");
let displayScrn = document.querySelector(".numbers-screen");
let numbersArray = [];
let decimalClicked = false;
let operationClicked = false;

const updateDisplay = function (operation) {
  displayScrn.innerText = numbersArray.join("");
};

numBtn.forEach((button) => {
  button.addEventListener("click", function (e) {
    let storageBtn = button.innerText;
    if (storageBtn === "." && decimalClicked) return;
    if (storageBtn === ".") {
      decimalClicked = true;
    }
    numbersArray.push(storageBtn);
    updateDisplay();
  });
});

opBtn.forEach((button) => {
  button.addEventListener("click", function (e) {
    let opStorageBtn = button.innerText;
    if (opStorageBtn === "+" && operationClicked) return;
    if (opStorageBtn === "+") {
      operationClicked = true;
    }
    numbersArray.push(opStorageBtn);
    updateDisplay();
    console.log(opStorageBtn);
  });
});

deleteBtn.addEventListener("click", function () {
  decimalClicked = false;
  numbersArray.pop();
  updateDisplay();
});
0

There are 0 answers