Простейший калькулятор на JS. Нужна помощь.
Вложений: 1
Требуется написать программу выводящую 2 рандомных числа и рандомный знак(+, -, =, *). Должно быть всего 5 кнопок. 4 кнопки соответствующие знакам и кнопка равно. При загрузке страницы пользователь видит 2 числа и арифметический знак, нажимает кнопку, соответствующую знаку, затем нажимает равно и происходят вычисления. Если нажата кнопка с несоответствующим знаком, выдается сообщение об ошибке. Часть кода есть. Не могу дописать, чтобы при нажатии на равно проверялось, какая кнопка из знаковых была нажата, и переменная (res) результат был передан в форму ответ.
Внешний вид калькулятора приложен. Ниже код: Ниже код HTML: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Kalkulator</title> <link rel="stylesheet" href="css/kalk.css"> <script src="http://code.jquery.com/jquery-1.9.1.js"></script> <SCRIPT type="text/javascript" src="js/kalk.js"></SCRIPT> </head> <body> <FORM> <DIV class="formula"> <INPUT type="text" name="first"/> <INPUT type="text" name="znak"/> <INPUT type="text" name="second"/> </DIV> <DIV class="deistv"> <INPUT type="button" name="plus" value="+" onClick="GetResult(1)"/> <INPUT type="button" name="minus" value="-" onClick="GetResult(2)" /> <INPUT type="button" name="umnog" value="X" onClick="GetResult(3)" o/> <INPUT type="button" name="razder" value="/" onClick="GetResult(4)" /> </DIV> <DIV class="ravno"> <INPUT type="button" name="ravno" value="=" /> </DIV> <DIV class="result"> <INPUT type="text" name="result" placeholder="Ответ" /> </DIV> </FORM> </body> </html> Скрипт $(document).ready(function() { // Ждём загрузки страницы var nombfirst = Math.random(); var nombsecond = Math.random(); var arr = ["+", "-", "X", "/"]; var first = $("input[name=first]").val() * 1; // Переменная первого числа var second = $("input[name=second]").val() * 1; // Переменная второго числа var randznak = arr[Math.round(Math.random()*3)] $("input[name=first]").val(nombfirst); // записываем результат переменной nombfirst $("input[name=second]").val(nombsecond); // записываем результат переменной nombecond $("input[name=znak]").val(randznak); // записываем результат переменной nombecond $("input[name=plus]").click( function () { // Событие нажатия на кнопку "плюс" var first = $("input[name=first]").val() * 1; // Переменная первого числа var second = $("input[name=second]").val() * 1; // Переменная второго числа var res; // Переменная результата if (randznak == '+') { // Если знак - плюс res = first + second; } else { res = String(res); res = 'Неверный знак!'; $("input[name=result]").val(res); } }); $("input[name=minus]").click( function () { // Событие нажатия на кнопку "минус" var first = $("input[name=first]").val() * 1; // Переменная первого числа var second = $("input[name=second]").val() * 1; // Переменная второго числа var res; // Переменная результата if (randznak == '-') { // Если знак - минус res = first - second; } else { res = String(res); res = 'Неверный знак!'; $("input[name=result]").val(res); } }); $("input[name=umnog]").click( function () { // Событие нажатия на кнопку "умножить" var first = $("input[name=first]").val() * 1; // Переменная первого числа var second = $("input[name=second]").val() * 1; // Переменная второго числа var res; // Переменная результата if (randznak == 'X') { // Если знак - умножить res = first * second; } else { res = String(res); res = 'Неверный знак!'; $("input[name=result]").val(res); } }); $("input[name=razder]").click( function () { // Событие нажатия на кнопку "разделить" var first = $("input[name=first]").val() * 1; // Переменная первого числа var second = $("input[name=second]").val() * 1; // Переменная второго числа var res; // Переменная результата if (randznak == '/') { // Если знак - разделить res = first / second; } else { res = String(res); res = 'Неверный знак!'; $("input[name=result]").val(res); } }); //....................... // Дю сюда все работает // -------------------- $("input[name=ravno]").click( function () { switch (oper) //Проверяем, какая кнопка { //была нажата case 1: //Кнопка + { res = first+second; $("input[name=result]").val(res); break; } case 2: //Кнопка - { res = first-second; $("input[name=result]").val(res); break; } case 3: //Кнопка * { res = first*second; $("input[name=result]").val(res); break; } case 4: //Кнопка / { res = first/second; $("input[name=result]").val(res); break; } } }); }); |
ну и где объявление oper и где присвоение значений?
|
Большое спасибо! Я поняла, куда смотреть))
|
Часовой пояс GMT +3, время: 02:57. |