Я создаю очень простую страницу калькулятора.
У меня есть файл Javascript, в котором я создал метод для каждой операции, плюс метод для получения свойства element.id кнопки, на которую нажали ( чтобы я мог использовать операторы с кнопками и клавиатурой).
Затем я применил EventListener к каждой кнопке.
Проблема в том, когда я тестирую функцию sum()
. Я думал, что процесс go выглядит следующим образом: у меня есть переменная func
, в которой хранится операция, которая будет использоваться при нажатии = , и переменная num1
для хранения номера дисплея.
После нажатия + , num1
должен сохранить число на дисплее и func
изменить строку "sum".
Затем пользователь вводит второе число и щелкает = , который сохраняет это отображаемое число как num2
и применяет операцию на основе переменной суммы.
Дело в том, что при следовании Chrome Инструментам разработчика я вижу, что num1
не сохраняется как строковое значение дисплея, но [объект MouseEvent].
https://codepen.io/Zukhu/pen/ExjOarp
let memory = 0;
let temp = 0;
var func = "";
let display = document.getElementById("calc-display");
let num1 = "";
function sum(num1) {
num1 = display.innerHTML;
func = "sum";
ce();
}
function ce() {
return display.innerHTML = 0;
}
function onac() {
if (display.innerHTML != "0") {
ce();
} else {
memory = 0;
temp = 0;
func = "";
num1 = "";
ce();
}
}
function getKey(e) {
e = e || window.event;
e = e.target || e.srcElement;
display.innerHTML = e.innerHTML;
}
function equals(num1,num2, func) {
num2 = display.innerHTML;
switch(func) {
case sum:
display.innerHTML = num1 + num2;
break;
case subtract:
break;
case multiply:
break;
case divide:
break;
case percentage:
break;
}
}
Я думаю, что это самая важная часть Затем идет часть addEventListener
. Если вы хотите поближе взглянуть, я предоставил ссылку на кодовый указатель: https://codepen.io/Zukhu/pen/ExjOarp
Мне бы очень хотелось, если бы вы могли помочь мне решить мою проблему.