« STIC Discussion:STIC I - exercice 3 (Concordia) » : différence entre les versions

De EduTech Wiki
Aller à la navigation Aller à la recherche
 
Aucun résumé des modifications
Ligne 20 : Ligne 20 :


Sébastien
Sébastien
=== Réponse -- [[Utilisateur:Mattia A. Fritz|Mattia A. Fritz]] ([[Discussion utilisateur:Mattia A. Fritz|discussion]]) 22 novembre 2022 à 17:27 (CET) ===
Bonjour,
Ce n'était pas simple à comprendre en effet, mais pour la manière dont vous avez conçu votre code, votre bouton "next" reçoit plusieurs addEventListeners qui se cumulent. En effet, vous ajoutez un event listener à la ligne 186 et puis encore à la ligne 159. Dans l'event listener de la ligne 186, vous appelez en plus la fonction qui a son interne l'ajoute du event listener de la ligne 159. C'est cela qui crée l'effet domino.
Vous avez à mon avis deux options :
# Plus compliqué : revoir l'architecture de votre code pour éviter l'effet domino
# Plus pragmatique : vous remplacez l'alert avec le changement d'un texte dans le DOM. Ceci présente deux avantages : (1) sur le plan du fonctionnement, même si vous lancez l'instruction pour mettre à jour le texte plusieurs fois, l'utilisateur ne va pas s'en apercevoir ; et (2) sur le plan ergonomique les alerts sont à éviter, donc cela améliore aussi le UX de votre application.
J'espère que la réponse puisse vous être utile,
Mattia

Version du 22 novembre 2022 à 17:27

Fonction alert qui s'affiche de plus en plus -- Sebastien C. (discussion) 22 novembre 2022 à 16:24 (CET) -- Sebastien C. (discussion) 22 novembre 2022 à 16:24 (CET)

Bonjour,

Cela fait maintenant trop de temps que je cherche une solution seul, alors je fais appel à vous.

J'essaie de faire un Quizz. Celui-ci fonctionne plutôt bien. Mais j'ai décidé de créer une alerte pour dire si la réponse sélectionnée est juste ou fausse.

Mon problème est que l'alerte s'affiche 1 fois puis 2 puis 3 puis 4 puis 5 puis 6 etc. C'est dérangeant.

Mon quizz est sur ce lien.

voilà la photo de mon javascipt , mon but est que quand on appuie sur "suivant", l'alerte annonce si la réponse est juste ou fausse.

Photo javascript.png


Avez-vous une solution pour que l'alerte s'affiche qu'une fois ?

Je vous remercie pour votre aide, belle soirée

Sébastien

Réponse -- Mattia A. Fritz (discussion) 22 novembre 2022 à 17:27 (CET)

Bonjour,

Ce n'était pas simple à comprendre en effet, mais pour la manière dont vous avez conçu votre code, votre bouton "next" reçoit plusieurs addEventListeners qui se cumulent. En effet, vous ajoutez un event listener à la ligne 186 et puis encore à la ligne 159. Dans l'event listener de la ligne 186, vous appelez en plus la fonction qui a son interne l'ajoute du event listener de la ligne 159. C'est cela qui crée l'effet domino.

Vous avez à mon avis deux options :

  1. Plus compliqué : revoir l'architecture de votre code pour éviter l'effet domino
  2. Plus pragmatique : vous remplacez l'alert avec le changement d'un texte dans le DOM. Ceci présente deux avantages : (1) sur le plan du fonctionnement, même si vous lancez l'instruction pour mettre à jour le texte plusieurs fois, l'utilisateur ne va pas s'en apercevoir ; et (2) sur le plan ergonomique les alerts sont à éviter, donc cela améliore aussi le UX de votre application.

J'espère que la réponse puisse vous être utile, Mattia