Réinitialisation score + meilleur score

Résolu/Fermé
Nirsab Messages postés 78 Date d'inscription samedi 17 juillet 2021 Statut Membre Dernière intervention 8 août 2022 - 2 août 2021 à 07:43
Nirsab Messages postés 78 Date d'inscription samedi 17 juillet 2021 Statut Membre Dernière intervention 8 août 2022 - 2 août 2021 à 13:30
Bonjour,

Svp, je souhaite comprendre pourquoi le deuxième block du code ne fonctionne pas...
Je cherche à remettre le score à 0 lorsque je clique clique sur le bouton qui a pour id=mise0...


$('.compteur').on('click', function (e) {
        e.preventDefault();
           $val = $(this).attr('value').split('|');
           $champ = '#compteur' + $val[0];
           $new_score = parseInt($($champ).text()) + parseInt($val[1]);
         if ($new_score < 0) {
             $('#compteur' + $val[0]).text('0');
       } else if ($new_score <= 3) {
             $('#compteur' + $val[0]).text($new_score);
       } else  {
             $('#compteur' + $val[0]).text('ÉQUIPE QUALIFIÉE'); 
       }   
	     
		 
		  
	    $('.mise0').on('click', function (e) {
        e.preventDefault();
           $val = $(this).attr('value').split('|');
           $champ = '#mise0' + $val[0];
           $new_score = parseInt($($champ).text()) + parseInt($val[0]);
         if ($new_score < 0) {
             $('#mise0' + $val[0]).text('0');
       } else if ($new_score <= 1) {
             $('#mise0').text('0');
        
       }



A ce code je souhaite également ajouter une fonction pour sauvegarder le meilleur score, je m'inspire du concept de Questions Pour Un Champion...

Je débute en JS, et ai besoin de réponses précises, du fait d'un handicap, svp...

Merci pour votre aide,

Nirsab
A voir également:

5 réponses

jordane45 Messages postés 38207 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 juin 2024 4 678
2 août 2021 à 08:15
Bonjour
Il semble que tu n'aies pas fermé tes fonctions.
Ligne 14, par exemple, il manque une accolade et une parenthèse.
Idem ligne 26
0
Nirsab Messages postés 78 Date d'inscription samedi 17 juillet 2021 Statut Membre Dernière intervention 8 août 2022
2 août 2021 à 08:26
Merci, mais cela ne fonctionne toujours pas...
0
jordane45 Messages postés 38207 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 juin 2024 4 678 > Nirsab Messages postés 78 Date d'inscription samedi 17 juillet 2021 Statut Membre Dernière intervention 8 août 2022
2 août 2021 à 09:46
Montre comment tu as modifié ton code ...
Pense bien à vider le Cache de ton navigateur ( après chaque modif de JS ou de CSS )
Pense à regarder dans la CONSOLE de ton navigateur si tu as des messages d'erreur ...
0
Nirsab Messages postés 78 Date d'inscription samedi 17 juillet 2021 Statut Membre Dernière intervention 8 août 2022
Modifié le 2 août 2021 à 11:11
cash vidé, aucun message d'erreur...
Comme dit, je souhaite réinitialiser mon score quand je le demande et sauvegarder le meilleur score...

$('.compteur').on('click', function (e) {
        e.preventDefault();
           $val = $(this).attr('value').split('|');
           $champ = '#compteur' + $val[0];
           $new_score = parseInt($($champ).text()) + parseInt($val[1]);
         if ($new_score < 0) {
             $('#compteur' + $val[0]).text('0');
       } else if ($new_score <= 3) {
             $('#compteur' + $val[0]).text($new_score);
       } else  {
             $('#compteur' + $val[0]).text('ÉQUIPE QUALIFIÉE'); 
       }   
	     
		}) 
		  
	    $('.mise0').on('click', function (e) {
        e.preventDefault();
           $val = $(this).attr('value').split('|');
           $champ = '#mise0' + $val[0];
           $new_score = parseInt($($champ).text()) + parseInt($val[0]);
         if ($new_score < 0) {
             $('#mise0' + $val[0]).text('0');
       } else if ($new_score <= 1) {
             $('#mise0').text('0');
        
       }
	   
	   })



Merci

Nirsab
0
jordane45 Messages postés 38207 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 juin 2024 4 678
2 août 2021 à 11:16
pas d'erreur dans la console ?
Etrange...
Il faudrait nous faire une capture écran de la console (javascript) de ton navigateur lorsque tu affiches la page, puis un autre lorsque tu cliques sur ton bouton.

Il nous faudrait également le code html de la page en question ( dans l'idéal, colles nous le code COMPLET du code source généré de ta page )
Pour avoir le code source généré, tu affiches ta page, puis tu fais CTRL+u
Tu copies/colles le code complet ici ( entre balises de code )
Sans ça, impossible de te dire ce qui ne fonctionne pas
0
Nirsab Messages postés 78 Date d'inscription samedi 17 juillet 2021 Statut Membre Dernière intervention 8 août 2022 > jordane45 Messages postés 38207 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 juin 2024
Modifié le 2 août 2021 à 11:26
<!DOCTYPE html>
<html>
    <head>
        <title>Questions pour un Champion</title>
        <meta charset="utf-8">
        <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css" integrity="sha384-JcKb8q3iqJ61gNV9KGb8thSsNjpSL0n8PARn9HuZOnIxN0hoP+VmmDGMN5t9UJ0Z" crossorigin="anonymous">
        <link rel="stylesheet" href="https://code.jquery.com/ui/1.12.1/themes/smoothness/jquery-ui.min.css">
        <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.13.0/css/all.css">
        
   <link href='QPUC2.css' rel='stylesheet' type='text/css'>
    </head>
    <body>
        <div class="container">

            <h1> DÉCAL' À LA SUITE </h1>
   
   <button id="themesaleatoires" type="button">4 Thèmes</button><br/><br/>
            <div id="question"></div><br/>
   
   <button id="startButton" type="button">Question</button><br/><br/>
            <div id="question"></div><br/>
   <strong>Temps restant:<span id="countdown_sec">0 secondes</strong>
          
            <button id="reponseButton" type="button">Réponse</button><br/><br/>
            <div id="reponse"></div><br/><br/>

            <form>

                <div class="row">
                    <div class="col">

                        <div class="form-group">
                            <label for="1erequalifiee">1ÈRE ÉQUIPE QUALIFIÉE:</label>
                        </div>

                        <div class="form-group">
                            <label for="compteur1">SCORE:</label>
                            <div class="col-sm-2">
                                <span id="compteur1"><b>0</b></span>
                            </div>
                        </div>

                        <div>
                            <button class="compteur" value="1|1" style="background-color:green">+1</button>
       <button class="mise0" value="1|0" style="background-color:red">0</button>
       
       
                        </div>
                    </div>


                    <div class="col">

                        <div class="form-group">
                            <label for="2emequalifiee">2ÈME ÉQUIPE QUALIFIÉE:</label>
                        </div>

                        <div class="form-group">
                            <label for="compteur2">SCORE:</label>
                            <div class="col-sm-2">
                                <span id="compteur2"><b>0</b></span>
                            </div>
                        </div>

                        <div>
                            <button class="compteur" value="2|1" style="background-color:green">+1</button>
       <button class="mise0" value="2|0" style="background-color:red">0</button>
       
                        </div>

                    </div>
                </div>
                <br><br>

                <div class="row">
                    <div class="col">

                        <div class="form-group">
                            <label for="2emequalifiee">3ÈME ÉQUIPE QUALIFIÉE:</label>  
                        </div>

                        <div class="form-group">
                            <label for="compteur3">SCORE:</label>
                            <div class="col-sm-2">
                                <span id="compteur3"><b>0</b></span>
                            </div>
                        </div>

                        <div>
                            <button class="compteur" value="3|1" style="background-color:green">+1</button>
       <button class="mise0" value="3|0" style="background-color:red">0</button>
                            
                        </div>
                    </div>


                </div>



                
                <p><a href="QPUC3.html">THE BATTLE</a></p>











            </form>
        </div>

       <code js> <script src="https://code.jquery.com/jquery-3.5.1.min.js"></script>
        <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.1/dist/umd/popper.min.js" integrity="sha384-9/reFTGAW83EW2RDu2S0VKaIzap3H66lZH81PoYlFhbGU+6BZp6G7niu735Sk7lN" crossorigin="anonymous"></script>
        <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/js/bootstrap.min.js" integrity="sha384-B4gt1jrGC7Jh4AgTPSdUtOBvfO8shuf57BaghqFfPlYxofvL8/KUEfYiJOMMV+rV" crossorigin="anonymous"></script>
        <script src="https://code.jquery.com/ui/1.12.1/jquery-ui.min.js"></script>
        
        <script>
  
  
  $(document).ready(function (){//n'apparait qu'une fois//
  
  
  
     var timer;
     var random;
     var thème4àlasuite;
     var questions = []; // questions déjà posées



//$('#startButton').on('click', function (){
    timerManager.stop(); // arrête le chrono
    $('#reponse').text(''); // efface la réponse précédente
    question(); // affiche la question
    $secondes = 40; // définit le nombre de secondes
    $('#countdown_sec').text($secondes); //affiche 40 dans le chrono
    timerManager.start($secondes); // lance le timer
});

$('#reponseButton').on('click', function (){
    $('#reponse').text(question_11pts[random][3]); // affiche la réponse
    timerManager.stop(); // arrête le chrono
});

timerManager = {
    start: function ($secondes) {
        $secondes = $secondes - 1; // provoque le décompte
        if ($secondes >= 0) { // tant que le chrono est supérieur à zéro
            timer = setTimeout(function (){ // éxécute le code toutes les 1000 millisecondes
                $('#countdown_sec').text($secondes); // affiche le temps restant
                timerManager.start($secondes); // rappelle la fonction
            }, 1000);
        } else {
            timerManager.stop(); // arrête le chrono
        }
    },
    stop: function (){ // to be called when you want to stop the timer
        clearTimeout(timer);
        $('#countdown_sec').text('0');
    }
};//











  $('.compteur').on('click', function (e) {
        e.preventDefault();
           $val = $(this).attr('value').split('|');
           $champ = '#compteur' + $val[0];
           $new_score = parseInt($($champ).text()) + parseInt($val[1]);
         if ($new_score < 0) {
             $('#compteur' + $val[0]).text('0');
       } else if ($new_score <= 3) {
             $('#compteur' + $val[0]).text($new_score);
       } else  {
             $('#compteur' + $val[0]).text('ÉQUIPE QUALIFIÉE'); 
       }   
      
  }) 
    
     $('.mise0').on('click', function (e) {
        e.preventDefault();
           $val = $(this).attr('value').split('|');
           $champ = '#mise0' + $val[0];
           $new_score = parseInt($($champ).text()) + parseInt($val[0]);
         if ($new_score < 0) {
             $('#mise0' + $val[0]).text('0');
       } else if ($new_score <= 1) {
             $('#mise0').text('0');
        
       }
    
    })
    
    var thème4àlasuite = [
                    [0, 'en construction'],




 ];
                    
                    
                    
                    
                });

                

  
  
  
  
  </script>



    </body>
</html>




Les fonctions buttoreponse, timer etc sont en cours de construction...

Quant à la console, cela n'affiche absolument rien...
0
jordane45 Messages postés 38207 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 juin 2024 4 678
2 août 2021 à 11:28

Quant à la console, cela n'affiche absolument rien...


Ah ?
Et ça ?

0
Nirsab Messages postés 78 Date d'inscription samedi 17 juillet 2021 Statut Membre Dernière intervention 8 août 2022
Modifié le 2 août 2021 à 11:30
rien de rien...
0
jordane45 Messages postés 38207 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 juin 2024 4 678
2 août 2021 à 11:37
ben... apprends à utiliser la console de ton navigateur....
Bien entendu, tu as vérifié que tu avais bien activé l'affichage des erreurs dedans...
et tu utilises un "vrai" navigateur ( tel que chrome ou firefox) ...

Et pour ton code de remise à zéro .. je ne comprends pas ce que tu as essayé de faire.
Si le but est de remettre à zéro, il suffit de
     $('.mise0').on('click', function (e) {
            e.preventDefault();
            $val = $(this).attr('value').split('|');
            $champ = '#compteur' + $val[0];
            console.log("CHAMP",$champ);
            $($champ).text('0');
          })
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Nirsab Messages postés 78 Date d'inscription samedi 17 juillet 2021 Statut Membre Dernière intervention 8 août 2022
2 août 2021 à 11:45
Merci beaucoup, cela fonctionne...

Quant à mon navigateur, j'ai peut-être un handicap, mais je suis loin d'être une bille !
Je sais encore l'utiliser...

Maintenant est-ce que je peux te demander quel code je dois ajouter pour sauvegarder le meilleur score même si il y a une remise à 0, stp ?
0
jordane45 Messages postés 38207 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 juin 2024 4 678
2 août 2021 à 11:54

Quant à mon navigateur, j'ai peut-être un handicap, mais je suis loin d'être une bille !
Je sais encore l'utiliser...

Expliques moi alors pourquoi moi j'avais un message d'erreur lorsque j'ai récupéré ton code pour le tester ???


Maintenant est-ce que je peux te demander quel code je dois ajouter pour sauvegarder le meilleur score même si il y a une remise à 0, stp ?

Nouvelle question = Ouverture d'une nouvelle discussion propre à cette problématique.

Et pense à mettre ce sujet en RESOLU.
0
Nirsab Messages postés 78 Date d'inscription samedi 17 juillet 2021 Statut Membre Dernière intervention 8 août 2022 > jordane45 Messages postés 38207 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 juin 2024
2 août 2021 à 13:30
ok. merci
0