Advertisement
Guest User

dab

a guest
Dec 16th, 2019
2,689
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. // tableau contenant les prix des différentes références de macarons
  2. // le contenu de ce tableau pourra être récupéré sur le serveur dans une prochaine version
  3. var prixUnitaires = [0.50,0.70,0.80,0.80,0.90,0.70,0.90,0.90,1,0.90,1,0.80];
  4.  
  5. // fonction de formatage d'un prix
  6. // voir : https://stackoverflow.com/questions/149055/how-can-i-format-numbers-as-dollars-currency-string-in-javascript
  7. function formatMoney(amount, decimalCount = 2, decimal = ",") {
  8.     try {
  9.       decimalCount = Math.abs(decimalCount);
  10.       decimalCount = isNaN(decimalCount) ? 2 : decimalCount;
  11.       let i = parseInt(amount = Math.abs(Number(amount) || 0).toFixed(decimalCount)).toString();
  12.       let j = (i.length > 3) ? i.length % 3 : 0;
  13.       return  (j ? i.substr(0, j) + ' ' : '') + i.substr(j).replace(/(\d{3})(?=\d)/g, "$1" + ' ') + (decimalCount ? decimal + Math.abs(amount - i).toFixed(decimalCount).slice(2) : "");
  14.     } catch (e) {
  15.     }
  16. }
  17.  
  18. // cette fonction se charge de modifier le tableau de commande lorsque l'utilisateur fait un choix de quantité
  19. function changeQuantité( reference ) {
  20.     // récupère la quantité saisie par l'utilisateur
  21.     var quantite = document.getElementById("quantite_" + reference).value;
  22.     // reporte cette quantité dans le tableau de commande
  23.     document.getElementById("commandeQuantite_" + reference).innerHTML = quantite;
  24.     // met à jour la dernière colonne du tableau (calcul du prix)
  25.     document.getElementById("commandePrixReference_" + reference).innerHTML = formatMoney(quantite * prixUnitaires[reference]);
  26. }
  27.  
  28. // Cette fonction (qui est appelée une fois que la page Web est chargée) fait les choses suivantes :
  29. // a) elle écrit 0,00 € dans chaque case de la dernière colonne du tableau de commande
  30. // b) elle écrit le prix unitaire de chaque référence sous chaque photo
  31. // c) elle écrit le prix unitaire de chaque référence dans le tableau de commande
  32. function affichePrix() {
  33.     // Pour chacun des 12 références de la n°0 à la n°11 :
  34.         // a) écrire 0,00 € dans chaque case de la dernière colonne du tableau de commande
  35.         // À FAIRE
  36.         // b) écrire le prix unitaire de chaque référence sous chaque photo
  37.         // À FAIRE
  38.         // c) écrire le prix unitaire de chaque référence dans le tableau de commande
  39.         // À FAIRE
  40. }
  41.  
  42. /*
  43. //////////////////////////////////////////////////////////////////////////////////////////////////////////////
  44. Je te re-passe le relai dans ce projet. Voilà quelques informations pour toi :
  45.    
  46.     1) Dans le code source HTML, j'ai ajouté des parfums de macarons à la demande du chef de projet.
  47.     Si tu regardes bien en haut de ce fichier, à la ligne 3, j'ai indiqué les prix de chaque référence
  48.     dans la variable qui se nomme "prixUnitaires".
  49.  
  50.     2) Comme les prix risquent de changer de temps en temps, le chef de projet ne veut voir aucun prix dans le HTML.
  51.     Je les ai retirés. TU DOIS programmer leur affichage en Javascript : lis bien la suite, j'ai commencé le travail !
  52.     Je t'ai créé la fonction "afficherPrix" (elle est exécutée une fois la page affichée,
  53.     grâce à ce que j'ai écrit dans la balise <body>). Je n'ai pas eu le temps de terminer mais j'ai déjà fait une part ennuyeuse
  54.     du travail : dans le HTML, j'ai ajouté des balises comme <span id="prixUnitaireReference_0"></span>
  55.     et <span id="commandePrixUnitaireReference_0"></span>.
  56.     TU DOIS t'en servir pour écrire les prix dedans !
  57.     En RÉSUMÉ, TU DOIS faire a) b) et c) pour chaque parfum ! Bon courage !
  58.  
  59.     3) Je pense que tu peux gagner du temps avec une boucle "for", cherche sur Internet comment il faut faire.
  60.  
  61. Quand tu auras fait tout cela, montre-le au chef de projet pour valider ton travail, il aura encore d'autres choses
  62. à te demander.
  63. ///////////////////////////////////////////////////////////////////////////////////////////////////////////////
  64. */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement