From 76bd50c35ba3907075d487d4fbbc9c4ee5836c6c Mon Sep 17 00:00:00 2001 From: NetMan <13informatyka14@gmail.com> Date: Sun, 14 Jan 2024 20:04:41 +0100 Subject: [PATCH] Displaying in DOM, added checks for correct behaviour --- index.html | 5 ++++- script.js | 33 +++++++++++++++++++++++++++++---- style.css | 4 ++++ 3 files changed, 37 insertions(+), 5 deletions(-) diff --git a/index.html b/index.html index 0aa7436..a7e1859 100644 --- a/index.html +++ b/index.html @@ -11,7 +11,10 @@
-
+
+
+
+
diff --git a/script.js b/script.js index a545145..57ac5a9 100644 --- a/script.js +++ b/script.js @@ -1,3 +1,7 @@ +const viewDiv = document.querySelector("#view"); +const signGui = viewDiv.querySelector("#sign"); +const valueGui = viewDiv.querySelector("#value"); + function add(a, b) { return a + b; } @@ -36,6 +40,8 @@ function execute(operation) { if (operation.a_b) { operation.a = `${result}`; operation.b = ""; + operation.equasion_val = true; + valueGui.textContent = `${operation.a}`; } console.table(operation); console.log(`Result: ${result}`); @@ -48,24 +54,43 @@ let operation = { b: "", a_b: true, equal: false, + equasion_val: false, } let equal = ""; function click(value) { if (!isNaN(+value)) { - if (operation.a_b) { - operation.a += value; + if (operation.equasion_val) { + operation.a = value; + operation.equasion_val = !operation.equasion_val; + signGui.textContent = ""; + valueGui.textContent = `${operation.a}`; + operation.a_b = true; } else { - operation.b += value; - operation.equal = true; + if (operation.a_b) { + if (operation.a == "0") { + operation.a = ""; + } + operation.a += value; + valueGui.textContent = `${operation.a}`; + } else { + if (operation.b == "0") { + operation.b = ""; + } + operation.b += value; + operation.equal = true; + valueGui.textContent = `${operation.b}`; + } } } else if (value == "=") { execute(operation); + signGui.textContent = value; } else { if (operation.operator == "") { operation.a_b = !operation.a_b; operation.operator = value; + signGui.textContent = value; } if (operation.a_b) { operation.operator = value; diff --git a/style.css b/style.css index 9360853..20f4889 100644 --- a/style.css +++ b/style.css @@ -18,6 +18,10 @@ html, body { height: 60px; background-color: #ccc; border: 1px solid #000; + display: flex; + justify-content: space-between; + align-items: center; + gap: 10px; } .buttons-flex { display: flex;