У меня есть калькулятор JavaScript с кнопкой режима, которая должна переключаться между режимами радиана и градуса через переключатель. Если значение кнопки либо DEG
или RAD
, нажав на кнопку косинуса будет выполнять либо cos
функцию или функцию cosDeg
(см):Использование switch with if else для переключения режима калькулятора JavaScript
$('#button-mode').click(function() {
var type = $(this).val(),
$div = $('#mode');
switch (type) {
case 'DEG':
$div.html('DEG');
$('#button-mode').html('Rad');
$('#button-mode').val('RAD');
break;
case 'RAD':
$div.html('RAD');
$('#button-mode').html('Deg');
$('#button-mode').val('DEG');
break;
}
});
if ($("#button-mode").val() === 'DEG') {
$('#button-cos').click(function() {
if (checkNum(this.form.display.value)) {
cos(this.form);
$('#disp').addClass("result");
}
console.log('cos');
});
}
else if ($("#button-mode").val() === 'RAD') {
$('#button-cos').click(function() {
if (checkNum(this.form.display.value)) {
cosDeg(this.form);
$('#disp').addClass("result");
}
console.log('cosDeg');
});
}
переключатель, кажется, работает хорошо в том, что правильно HTML появляется как в button
, так и в #mode
div, но нажатие на #button-cos
в любом случае выполняет функцию cos
. Я не понимаю, почему это происходит. Кроме того, и это может быть, почему это происходит, кнопка задается:
<button TYPE="button" ID="button-mode" value="DEG">Deg</button>
Как я могу изменить свой код, чтобы получить эту работу должным образом?