Comment créer une calculatrice simple à l’aide de HTML, CSS et JavaScript

La meilleure façon d'apprendre JavaScript est de créer des projets. Si vous voulez devenir un bon développeur Web, vous devez commencer à créer dès que possible. Vous pouvez commencer par créer des projets de niveau débutant comme une simple calculatrice, une horloge numérique, un chronomètre, etc.

Dans cet article, vous apprendrez à créer une calculatrice simple en utilisant HTML, CSS et JavaScript. Cette calculatrice peut effectuer des opérations mathématiques de base telles que l'addition, la soustraction, la multiplication et la division.

Commençons.

Composants de la calculatrice

Le calculateur se compose des éléments suivants :

Opérateurs mathématiques : Addition (+), Soustraction (-), Multiplication (*) et Division (/).

Chiffres et bouton décimal : 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, . .

Écran d'affichage : Il affiche l'expression mathématique et le résultat.

Bouton Effacer l'écran : Il efface toutes les valeurs mathématiques.

Bouton Calculer (=) : Il évalue l'expression mathématique et renvoie le résultat.

Structure des dossiers du projet Calculatrice

Créez un dossier racine contenant les fichiers HTML, CSS et JavaScript. Vous pouvez nommer les fichiers comme vous le souhaitez. Ici, le dossier racine est nommé Calculatrice . Selon la convention de dénomination standard, les fichiers HTML, CSS et JavaScript sont nommés respectivement index.html , styles.css et script.js .

Code HTML

Ouvrez le fichier index.html et collez le code suivant :

Connexe : Étapes pour comprendre le code HTML de base

 <!DOCTYPE html>
<html lang="en" dir="ltr">
<head>
<meta charset="utf-8">
<title> Simple Calculator using HTML, CSS and JavaScript </title>
<link rel="stylesheet" href="styles.css">
</head>
<body>
<table class = "calculator" >
<tr>
<td colspan = "3"> <input class = "display-box" type = "text" id = "result" disabled /> </td>
<!-- clearScreen() function clear all the values -->
<td> <input class = "button" type = "button" value = "C" onclick = "clearScreen()" style = "background-color: #fb0066;" /> </td>
</tr>
<tr>
<!-- display() function display the value of clicked button -->
<td> <input class = "button" type = "button" value = "1" onclick = "display('1')" /> </td>
<td> <input class = "button" type = "button" value = "2" onclick = "display('2')" /> </td>
<td> <input class = "button" type = "button" value = "3" onclick = "display('3')" /> </td>
<td> <input class = "button" type = "button" value = "/" onclick = "display('/')" /> </td>
</tr>
<tr>
<td> <input class = "button" type = "button" value = "4" onclick = "display('4')" /> </td>
<td> <input class = "button" type = "button" value = "5" onclick = "display('5')" /> </td>
<td> <input class = "button" type = "button" value = "6" onclick = "display('6')" /> </td>
<td> <input class = "button" type = "button" value = "-" onclick = "display('-')" /> </td>
</tr>
<tr>
<td> <input class = "button" type = "button" value = "7" onclick = "display('7')" /> </td>
<td> <input class = "button" type = "button" value = "8" onclick = "display('8')" /> </td>
<td> <input class = "button" type = "button" value = "9" onclick = "display('9')" /> </td>
<td> <input class = "button" type = "button" value = "+" onclick = "display('+')" /> </td>
</tr>
<tr>
<td> <input class = "button" type = "button" value = "." onclick = "display('.')" /> </td>
<td> <input class = "button" type = "button" value = "0" onclick = "display('0')" /> </td>
<!-- calculate() function evaluate the mathematical expression -->
<td> <input class = "button" type = "button" value = "=" onclick = "calculate()" style = "background-color: #fb0066;" /> </td>
<td> <input class = "button" type = "button" value = "*" onclick = "display('*')" /> </td>
</tr>
</table>
<script type="text/javascript" src="script.js"></script>
</body>
</html>

La structure de la calculatrice est créée à l'aide de la balise <table> . La balise <table> contient cinq lignes qui représentent cinq sections horizontales de la calculatrice. Chaque ligne est créée à l'aide de la balise <tr> . Chaque balise <tr> contient des balises <td> (Table Data) qui contiennent l'écran d'affichage et les boutons de la calculatrice.

Code CSS

Ouvrez le fichier styles.css et collez le code suivant :

En relation: Exemples de code CSS simples que vous pouvez apprendre en 10 minutes

 @import url('https://fonts.googleapis.com/css2?family=Orbitron&display=swap');
.calculator {
padding: 10px;
border-radius: 1em;
height: 380px;
width: 400px;
margin: auto;
background-color: #191b28;
box-shadow: rgba(0, 0, 0, 0.19) 0px 10px 20px, rgba(0, 0, 0, 0.23) 0px 6px 6px;
}
.display-box {
font-family: 'Orbitron', sans-serif;
background-color: #dcdbe1;
border: solid black 0.5px;
color: black;
border-radius: 5px;
width: 100%;
height: 65%;
}
.button {
font-family: 'Orbitron', sans-serif;
background-color: #64278f;
color: white;
border: solid black 0.5px;
width: 100%;
border-radius: 5px;
height: 70%;
outline: none;
}
.button:active {
background: #e5e5e5;
-webkit-box-shadow: inset 0px 0px 5px #c1c1c1;
-moz-box-shadow: inset 0px 0px 5px #c1c1c1;
box-shadow: inset 0px 0px 5px #c1c1c1;
}

Le CSS ci-dessus est utilisé pour styliser la calculatrice. Le sélecteur .class est utilisé pour sélectionner des éléments avec un attribut de classe spécifique. Les sélecteurs de classe .calculator , .display-box et .button sont respectivement utilisés pour styliser la structure du tableau, l'écran d'affichage et les boutons de la calculatrice. @import est utilisé pour importer la famille de polices Orbitron à partir des polices Google.

Connexes : Comment utiliser CSS box-shadow : astuces et exemples

Code JavaScript

Ouvrez le fichier script.js et collez le code suivant :

 // This function clear all the values
function clearScreen() {
document.getElementById("result").value = "";
}

// This function display values
function display(value) {
document.getElementById("result").value += value;
}
// This function evaluates the expression and return result
function calculate() {
var p = document.getElementById("result").value;
var q = eval(p);
document.getElementById("result").value = q;
}

Comprendre le code JavaScript

Les fonctions clearScreen() , display() et calculate() sont utilisées pour ajouter des fonctionnalités à la calculatrice.

Effacer les valeurs

La fonction clearScreen() accède au DOM en utilisant l'identifiant du résultat et efface sa valeur en lui attribuant une chaîne vide.

 function clearScreen() {
document.getElementById("result").value = "";
}

Affichage des valeurs

La fonction display() accède au DOM en utilisant l'identifiant du résultat et ajoute la valeur du bouton cliqué au résultat.

 function display(value) {
document.getElementById("result").value += value;
}

Évaluation de l'expression

La fonction calculate() accède au DOM à l'aide de l'identifiant du résultat et évalue l'expression à l'aide de la fonction eval() . La valeur évaluée de l'expression est à nouveau affectée au résultat.

Note : La fonction eval() est utilisée en JavaScript pour évaluer l'expression qui lui est passée en paramètre. Il renvoie le résultat évalué de l'expression mathématique.

 function calculate() {
var p = document.getElementById("result").value;
var q = eval(p);
document.getElementById("result").value = q;
}

Si vous souhaitez consulter le code source complet utilisé dans cet article, voici le référentiel GitHub . De plus, si vous souhaitez jeter un œil à la version en direct de ce projet, vous pouvez également la consulter via GitHub .

En relation: Idées de projets Python adaptées aux débutants

Développer des projets de programmation sympas

Vous pouvez élever vos compétences en ingénierie au niveau supérieur en développant des projets. Que vous soyez débutant ou que vous vous remettiez au codage après un certain temps libre, le développement de projets peut être d'une grande aide pour renforcer votre confiance en vous.

Vous pouvez essayer de nombreux projets simples comme un jeu d'échecs, une application de liste de tâches, un outil de conversion de poids, un jeu Tic Tac Toe, un jeu Rock Paper Scissors, un grattoir Web avec Python, un système de connexion, un chatbot, un jeu Snake, un jeu Tetris, un calculateur de pourboires , Compte à rebours, Raccourcisseur d'URL, etc.

Mettez-vous la main à la pâte avec ces projets et devenez un meilleur développeur.