From 0cdfcee8cb3e63d3b46342e203ce1899221e83f0 Mon Sep 17 00:00:00 2001 From: lucashemi Date: Wed, 4 Jan 2023 19:24:50 -0300 Subject: Javascript Update --- script.js | 122 +++++++++----------------------------------------------------- 1 file changed, 16 insertions(+), 106 deletions(-) (limited to 'script.js') diff --git a/script.js b/script.js index 90ada2d..bf06a5a 100644 --- a/script.js +++ b/script.js @@ -1,118 +1,28 @@ let results = document.querySelector('.results') -let answer = ''; -let answered = false; -const c = document.querySelector('.button-c') +const nod = document.querySelectorAll('[data-value]') +const C = document.querySelector('.button-C') const X = document.querySelector('.button-X') -const dot = document.querySelector('.button-dot') -const num = document.querySelectorAll('.num') -const op = document.querySelectorAll('.sp') +const eq = document.querySelector('.button-eq') -// Numbers - -num[0].addEventListener('click', () => { - answer += '0'; - results.textContent = answer; -}) - -num[1].addEventListener('click', () => { - answer += '1'; - results.textContent = answer; -}) - -num[2].addEventListener('click', () => { - answer += '2'; - results.textContent = answer; -}) - -num[3].addEventListener('click', () => { - answer += '3'; - results.textContent = answer; -}) - -num[4].addEventListener('click', () => { - answer += '4'; - results.textContent = answer; -}) - -num[5].addEventListener('click', () => { - answer += '5'; - results.textContent = answer; -}) - -num[6].addEventListener('click', () => { - answer += '6'; - results.textContent = answer; -}) - -num[7].addEventListener('click', () => { - answer += '7'; - results.textContent = answer; -}) - -num[8].addEventListener('click', () => { - answer += '8'; - results.textContent = answer; -}) - -num[9].addEventListener('click', () => { - answer += '9'; - results.textContent = answer; -}) - -// Operations - -op[0].addEventListener('click', () => { - answer += '/'; - results.textContent = answer; -}) - -op[1].addEventListener('click', () => { - answer += '*'; - results.textContent = answer; -}) - -op[2].addEventListener('click', () => { - answer += '-'; - results.textContent = answer; -}) - -op[3].addEventListener('click', () => { - answer += '+'; - results.textContent = answer; -}) - -// Equals (=) - -op[4].addEventListener('click', () => { - answered = true; - answer = eval(answer); - results.textContent = answer; -}) - -// Dot (.) - -dot.addEventListener('click', () => { - answer += '.'; - results.textContent = answer; +// NOD (Numbers, Operations and Dot) +nod.forEach( (element) => { + element.addEventListener('click', (event) => { + results.textContent += event.target.dataset.value; + }) }) // Clear (C) - -c.addEventListener('click', () => { - answer = ''; - results.textContent = answer; +C.addEventListener('click', () => { + results.textContent = ''; }) // Remove (X) - X.addEventListener('click', () => { - if (answered == true) { - answer = ''; - results.textContent = answer; - answered = false; - return; - } - answer = answer.slice(0, -1); - results.textContent = answer; + results.textContent = results.textContent.toString().slice(0, -1); }) + +// Equals (=) +eq.addEventListener('click', () => { + results.textContent = eval(results.textContent); +}) \ No newline at end of file -- cgit v1.2.3-18-g5258