-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathscript.js
More file actions
75 lines (67 loc) · 2.44 KB
/
script.js
File metadata and controls
75 lines (67 loc) · 2.44 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
var tmp = 0, //текущее число на дисплее
has_dot=false, //флаг, имеет ли число на экране точку (дробную часть)
operation="", //заданная операция
num1=0; //сюда записывается введеное число, при переходе к введию второго
$(document).ready( function(){
// Выполнение начинается только после полной загрузки документа
function result (){
//Вычисление введенного выражения
if (num1 && tmp && operation){
//Проверка ввода: введена операция и оба числа
tmp = parseFloat(tmp);
switch(operation){
case "plus":
tmp = num1 + tmp;
break
case "sub":
tmp = num1 - tmp;
break
case "mult":
tmp = num1 * tmp;
break
case "div":
tmp = num1 / tmp;
break
}
has_dot = false;
num1 = 0;
operation = "";
// сброс флагов и переменных в дефолтное состояние
$("#screen").text(tmp); // вывод результата на дисплей
$(".op-btn").css("background-color", "#f1f3c3");
}
};
$("#screen").text(tmp);//очистка диплея перед началом работы
$(".num-btn").click(function(){
//Обработчик цифровых кнопок
if (tmp=="0") {
tmp=$(this).text()
} else{
tmp += $(this).text();
};
$("#screen").text(tmp);
});
$(".dot-btn").click(function(){
//Обработчик кнопки с разделителем дробной части (.)
if (!has_dot){
tmp += $(this).text();
$("#screen").text(tmp);
has_dot = true;
}
});
$(".clr-btn").click(function(){
//Обработчик кнопки очистки дисплея
tmp = 0;
has_dot = false;
$("#screen").text(tmp);
});
$(".res-btn").click(result); //Обработчик кнопки решения
$(".op-btn").click(function() {
result(); //пытаемся решить, если операция не была до этого введена,
operation = $(this).attr("id"); //то вводим операцию
num1 = parseFloat(tmp);
$(this).css("background-color", "#d1ff91")//"подсвечиваем" выбранную операцию
has_dot = false;
tmp = 0;
});
});