all but keyboard support
This commit is contained in:
parent
ca9e3e4c47
commit
a4f395c688
|
@ -3,6 +3,7 @@ let operator = 0;
|
||||||
let num1 = 0;
|
let num1 = 0;
|
||||||
let num2 = 0;
|
let num2 = 0;
|
||||||
const specialChars = ['!', '^', '*', '/', '+', '-'];
|
const specialChars = ['!', '^', '*', '/', '+', '-'];
|
||||||
|
const decimal = ['.'];
|
||||||
|
|
||||||
const add = function(num1, num2) {
|
const add = function(num1, num2) {
|
||||||
let sum = num1 + num2;
|
let sum = num1 + num2;
|
||||||
|
@ -81,6 +82,10 @@ function updateDisplay(id) {
|
||||||
case '!':
|
case '!':
|
||||||
case '.':
|
case '.':
|
||||||
let includesSpec = specialChars.some(char => display.textContent.includes(char));
|
let includesSpec = specialChars.some(char => display.textContent.includes(char));
|
||||||
|
let includesDec = display.textContent.includes('.');
|
||||||
|
if (includesDec && id === '.') {
|
||||||
|
break;
|
||||||
|
}
|
||||||
if (includesSpec) {
|
if (includesSpec) {
|
||||||
let num2 = display.textContent.split(/[\/+^!-*-]/);
|
let num2 = display.textContent.split(/[\/+^!-*-]/);
|
||||||
num1 = num2[0];
|
num1 = num2[0];
|
||||||
|
@ -131,11 +136,19 @@ function updateDisplay(id) {
|
||||||
break;
|
break;
|
||||||
case 'equals':
|
case 'equals':
|
||||||
let num2 = display.textContent.split(/[\/+^!-*-]/);
|
let num2 = display.textContent.split(/[\/+^!-*-]/);
|
||||||
|
if (!num2[1]) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
num1 = num2[0];
|
num1 = num2[0];
|
||||||
num1 = parseFloat(num1);
|
num1 = parseFloat(num1);
|
||||||
num2 = num2[1];
|
num2 = num2[1];
|
||||||
num2 = parseFloat(num2);
|
num2 = parseFloat(num2);
|
||||||
let answer = operate(operator, num1, num2)
|
let answer = operate(operator, num1, num2)
|
||||||
|
if (answer === Infinity) {
|
||||||
|
display.style.fontSize = '40px';
|
||||||
|
display.textContent = 'To infinity, and beyond!';
|
||||||
|
break;
|
||||||
|
}
|
||||||
display.textContent = answer;
|
display.textContent = answer;
|
||||||
displayValue = answer;
|
displayValue = answer;
|
||||||
console.log('equals');
|
console.log('equals');
|
||||||
|
@ -154,6 +167,7 @@ const buttons = document.querySelectorAll('.btn');
|
||||||
buttons.forEach((button) => {
|
buttons.forEach((button) => {
|
||||||
button.addEventListener('click', (e) => {
|
button.addEventListener('click', (e) => {
|
||||||
// operate(button.id);
|
// operate(button.id);
|
||||||
|
display.style.fontSize = '2em';
|
||||||
updateDisplay(button.id);
|
updateDisplay(button.id);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
|
@ -31,18 +31,16 @@ body {
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: end;
|
justify-content: end;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
font-size: 2em;
|
|
||||||
border-bottom: solid #E5A9A9 4px;
|
border-bottom: solid #E5A9A9 4px;
|
||||||
width: 400px;
|
width: 400px;
|
||||||
height: 83px;
|
height: 83px;
|
||||||
-webkit-box-shadow: inset 0px 0px 0px 2px #000000;
|
-webkit-box-shadow: inset 0px 0px 0px 2px #000000;
|
||||||
box-shadow: inset 0px 0px 0px 2px #000000;
|
box-shadow: inset 0px 0px 0px 2px #000000;
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.display {
|
.display {
|
||||||
margin-right: 0.1em;
|
margin-right: 0.1em;
|
||||||
|
font-size: 2em;
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue