-
Notifications
You must be signed in to change notification settings - Fork 0
/
script.js
59 lines (50 loc) · 2.38 KB
/
script.js
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
// Ces variables sont globales afin de s'en servir ailleurs sur la page
let bigmac = 5.55, // Prix basés sur ceux d'un big mac et d'une frite moyenne en février 2023
frite = 3.55,
prixBM = document.getElementById('prixBM'),
prixF = document.getElementById('prixF');
// Affiche les prix originaux dans la section "Techniquement..."
prixBM.innerHTML = bigmac;
prixF.innerHTML = frite;
function mcdoConvert() {
// Déclarations des éléments à modifier
let inputEuro = document.getElementById('inputEuro'),
errorMsg = document.getElementById('errorMsg'),
resultHTML = document.getElementById('result');
// Le garde-fou. Il ramène une erreur si le chiffre est trop élevé, trop bas ou pas un chiffre
if (inputEuro.value == "" || isNaN(inputEuro.value) || inputEuro.value < 1 || inputEuro.value >= 9999999999 ) {
// Affiche le bloc d'erreur et arrête le script
errorMsg.classList.remove("d-none");
return false;
} else {
// Si l'utilisateur a mis un bon chiffre après une erreur, on cache le message.
errorMsg.classList.add("d-none");
};
// L'opération. On divise pour les bigmacs et on prend le modulo pour les frites, puis on arrondit avec toFixed.
operation1 = inputEuro.value / bigmac;
operation2 = inputEuro.value % frite;
// On commence à écrire le résultat. On rapporte d'abord la somme donnée
result = inputEuro.value + " € font<br/>";
// Mise au pluriel des bigmacs
if (operation1.toFixed(0) == 1){
result = result + operation1.toFixed(0) + " Big Mac™ 🍔";
} else if (operation1.toFixed(0) > 1) {
result = result + operation1.toFixed(0) + " Big Macs™ 🍔";
};
// Rajout des frites s'il y en a et mise au pluriel s'il faut.
if (operation2.toFixed(0) != 0) {
if (operation1.toFixed(0) != 0) result = result + "<br/>et " + operation2.toFixed(0);
else result = result + operation2.toFixed(0);
if (operation2.toFixed(0) == 1) {
result = result + " frite 🍟";
} else {
result = result + " frites 🍟";
};
};
// Renvoi de la réponse avec un ! pour conclure la réponse
resultHTML.innerHTML = result + " !";
};
// Ceci fait que la touche entrée exécute le script au lieu de changer vainement de page
if (convert) convert.onclick = function () {
mcdoConvert();
}