Alerte Console JS

Fermé
Nirsab Messages postés 78 Date d'inscription samedi 17 juillet 2021 Statut Membre Dernière intervention 8 août 2022 - Modifié le 4 août 2022 à 10:53
Nirsab Messages postés 78 Date d'inscription samedi 17 juillet 2021 Statut Membre Dernière intervention 8 août 2022 - 8 août 2022 à 16:56

Salutations,

Je suis en train de terminer un programme et en le testant, il fonctionne bien au début, mais au bout d'un moment, la console m'affiche ceci. Qu'est ce que cela veut dire, svp ?

SI quelqu'un à une solution claire et surtout rapide, avant demain 18h, cela me serait d'une aide considérable, svp

Merci beaucoup

N

<!DOCTYPE html>
<html>
    <head>
        <title>Questions pour un Champion</title>
        <meta charset="utf-8">
        <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" integrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3" crossorigin="anonymous">
        <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.13.0/css/all.css">
    </head>
    <body>
        <div class="container-fluid">

            <div class="row">
                <div class="col">
                    <div class="alert alert-danger" role="alert" style="text-align: center;font-weight: bold;">
                        <h1>MAX À LA SUITE</h1>
                        <button class="btn btn-warning" type="button" data-bs-toggle="collapse" data-bs-target="#collapseExample" aria-expanded="false" aria-controls="collapseExample">
                            <i class="fas fa-hand-sparkles"></i> Règles
                        </button><br/>
                        <div class="collapse" id="collapseExample" style="margin-top: 10px">
                            <div class="alert alert-warning" style="text-align: justify">
                                4 thèmes sont proposées. L'équipe éliminée à la manche précédente choisira le thème pour chaque équipe en course. 
                                Les joueurs de l'équipe répondront à tour de rôle.
                                Les questions sont posées aléatoirement. Chaque réponse apporte 1 point. En cas de mauvaise réponse, 
                                le score retombe à 0 et ne sera conservé que le score affiché en fin de chrono. Le but est d'avoir
                                le plus de points à la suite, avant la fin de la liste de 11 questions, le tout en 180 secondes ou moins. 
                                 La difficulté résidera dans le fait que 
                                les 3 équipes vont devoir enchainer sans pause.
                                En cas d'égalité, un jeu décisif aléatoire sera proposé. 
                                Les 2 équipes ayant réalisé les meilleures performances seront qualifiées pour la manche finale.
                            </div>
                        </div>
                       
                    </div>
                </div>

            </div>
            <div class="row">
                <div class="col">
                    <button id="themesAleatoires" class="btn btn-info" type="button"><i class="fas fa-list-ol"></i> 4 Thèmes</button>
                    <br/><br/>
                    <div id="themes"></div>
                </div>
                <div class="col">
                    <table class="table table-striped table-bordered">
                        <thead>
                            <tr class="table-success">
                                <th>ÉQUIPES QUALIFIÉES + JOUEUR A, B, C</th>
                                <th>SCORE</th>
                                <th>COMPTEUR</th>
                            </tr>
                        </thead>
                        <tbody>
                            <tr>
                                <td>1ère Équipe Qualifiée
                                    <input></td>
                                <td><span id="compteur1"><b>0</b></span></td>
                                <td>
                                    <button class="btn btn-success compteur" value="1|1" type="button"><i class="fas fa-plus"></i> 1</button> 
                                    <button class="btn btn-danger mise0" value="1|0" type="button"><i class="fab fa-creative-commons-zero"></i></button>
                                </td>
                            </tr>
                            <tr>
                                <td>2ème Équipe Qualifiée
                                    <input></td>
                                <td><span id="compteur2"><b>0</b></span></td>
                                <td>
                                    <button class="btn btn-success compteur" value="2|1" type="button" ><i class="fas fa-plus"></i> 1</button> 
                                    <button class="btn btn-danger mise0" value="2|0" type="button"><i class="fab fa-creative-commons-zero"></i></button>
                                </td>
                            </tr>
                            <tr>
                                <td>3ème Équipe Qualifiée
                                    <input></td>
                                <td><span id="compteur3"><b>0</b></span></td>
                                <td>
                                    <button class="btn btn-success compteur" value="3|1" type="button"><i class="fas fa-plus"></i> 1</button> 
                                    <button class="btn btn-danger mise0" value="3|0" type="button"><i class="fab fa-creative-commons-zero"></i></button>
                                </td>
                            </tr>
                        </tbody>
                    </table>
                </div>
            </div>

            <div class="row">
                <div class="col">
                    <div id="theme" class="alert alert-primary" role="alert">Thème...</div>
                    <table class="table table-borderless">
                        <tbody>
                            <tr>
                                <td><button id="questionButton" class="btn btn-warning" type="button"><i class="far fa-comment-dots"></i> Question</button></td>
                                <td><div id="question"></div></td>
                            </tr>
                            <tr>

                                <td><button id="reponseButton" class="btn btn-primary" type="button"><i class="far fa-lightbulb"></i> Réponse</button></td>

                                <td><div id="reponse"></div></td>
                                <td><button id="stopChrono" class="btn btn-primary" type="button" style="background-color:red;"><i class="far fa-stop-circle"></i> Stop</button></td>
                            </tr>
                        </tbody>
                    </table>
                </div>
                <div class="col">
                    <div class="alert alert-danger" role="alert" style="text-align:center;">
                        <b>Temps restant :</b><br>
                        <b><span id="quiJoue" style="font-size: 20px; color:navy"> doit jouer</span></b>

                    </div>
                    <div class="jumbotron" style="text-align:center;font-size:2em;font-weight:bold">
                        <span id="countdown_sec">0 secondes</span>
                    </div>
                </div>
            </div>
            <div>
                <div class="col">
                    <table class="table table-borderless">
                        <tbody>
                            <tr>
                                <td><div id="decisif" class="alert alert-primary" role="alert">Jeu décisif</div></td>
                                <td><button id="jeuDecisif" class="btn btn-warning" type="button" style="background-color:hotpink;"><i class="far fa-handshake"></i> Jeu</button></td>
                                <td><button id="reglejd" style="background-color:lightgray"><i class="fas fa-hand-sparkles"></i> Règles</td>
                                <td><button id="quiJoueJD" style="background-color:lightgreen"><i class="fab fa-playstation"></i> Qui joue ?</td>
                                <!-- <td><button id="chronometre" class="btn btn-warning" type="button" style="background-color:burlywood;"><i class="fas fa-stopwatch"></i> Chrono</button></td>
                                <td><button id="stopChrono" class="btn btn-warning" type="button" style="background-color:palevioletred;"><i class="far fa-stop-circle"></i> Stop</button></td>
                                <td><button id="back0Chrono" class="btn btn-warning" type="button" style="background-color:silver;"><i class="fas fa-undo-alt"></i> Mise à 0</button></td> -->
                            </tr>
                        </tbody>
                    </table>
                    <!-- <div class="alert alert-danger" role="alert" style="text-align:center;">
                        <b>Temps :</b>
                    </div>
                    <div class="jumbotron" style="text-align:center;font-size:2em;font-weight:bold">
                        <span id="countup_sec">0 secondes</span> -->
                    </div>
                </div>
            </div>
            
        </div>
        <script src="https://code.jquery.com/jquery-3.5.1.min.js"></script>
        <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-ka7Sk0Gln4gmtz2MlQnikT1wXgYsOg+OMhuP+IlRH9sENBO0LRn5q+8nbTov4+1p" crossorigin="anonymous"></script>
        <script src="https://code.jquery.com/ui/1.12.1/jquery-ui.min.js"></script>
        <!-- <script src="""></script> -->
        <script>
            $(document).ready(function () {//n'apparait qu'une fois//

                var chrono; // gestion du chrono
                var decompteLance = 'non'; // pour empêcher le bouton Question de lancer plusieurs fois le chrono
                var aleatoire; // nombre aléatoire
                var themes = []; // affichage de 4 thèmes aléatoires
                var numTheme = ''; // thème choisit
                var questions = []; // questions déjà posées
                //var precedente = null; // question/réponse précédente

                

                // Affichage de 4 thèmes aléatoires
                $('#themesAleatoires').on('click', function () {
                    $('#themes').text(''); // vide la liste des thèmes
                    themes = []; // vide le tableau de mémorisation des thèmes
                    choixThemes(); // recherche 4 thèmes de façon aléatoire
                    afficheThemes(); // affiche les 4 thèmes
                });

                // Choix d'un thème particulier (grise le bouton et le desactive)
                // la syntaxe d'appel est différente car les boutons de choix n'existent pas encore au chargement de la page
                $(document).on('click', '.choisirTheme', function () {
                    numero = $(this).attr('value');
                    numTheme = themes4alasuite[numero][0]; // mémorise le numéro du thème choisit
                    theme = themes4alasuite[numero][1]; //
                    $('#theme').text('THEME : ' + theme); // affiche le thème choisi en-dessous du bouton Question
                    $(this).css('background-color', 'grey'); // colore le bouton en gris
                    $(this).attr('disabled', 'disabled'); // désactive le bouton
                    
                });

                $('#questionButton').on('click', function () {
                    if (numTheme === '') {
                        alert("Choisissez d'abord un thème");
                     timerManager.start();
                    } else {
                        if (decompteLance === 'non') {
                            $secondes = 120; // définit le nombre de secondes
                            $('#countdown_sec').text($secondes); //affiche 50 dans le chrono
                             timerManager.start($secondes); // lance le timer
                            decompteLance = 'oui';
                            
                        }
                        $("#reponse").text(""); 
                        question();
                    }
              
                });


                function question() {
                 
                    var min = 0;
                    var max = 12;
                    aleatoire = Math.floor(Math.random() * (max - min)) + min; // cherche un nombre aléatoire
                    if (questions.length === max) {
                        alert('Toutes les questions ont été posées !');
                    } else if ($.inArray(parseInt(aleatoire), questions) === -1) { // si le numéro de la question ne figure pas dans le tableau des questions déjà posées
                        quest = listeQuestions[numTheme][aleatoire][1];
                        $('#question').text(quest); // affiche la nouvelle question
                        questions.push(aleatoire); // rempli le tableau des questions déjà posées
            console.log(questions);
           

            
          } else function question() {
            // rappelle la fonction pour trouver un nouveau nombre aléatoire non utilisé
            
          }
        }
        $("#reponseButton").on("click", function () {
          $("#reponse").text(listeQuestions[numTheme][aleatoire][2]); // affiche la réponse
          
             });
            
                
               

                // Ajoute des points à une équipe
                $('.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 <= 10) {
                        $('#compteur' + $val[0]).text($new_score);
                    } else {
                        $('#compteur' + $val[0]).text('ÉQUIPE QUALIFIÉE')
                       
                    }

                });

                // Remet le nombre de points d'une équipe à zéro
                $('.mise0').on('click', function () {
                    $val = $(this).attr('value').split('|');
                    $champ = '#compteur' + $val[0];
                    console.log("CHAMP", $champ);
                    $($champ).text('0');
                });

                // Recherche 4 thèmes de façon aléatoire
                function choixThemes() {
                    var min = 0;
                    var max = 20;
                    aleatoire = Math.floor(Math.random() * (max - min)) + min; // cherche un nombre aléatoire
                    if ($.inArray(parseInt(aleatoire), themes) === -1) { // si le numéro de la question ne figure pas dans le tableau des questions déjà posées
                        themes.push(aleatoire); // rempli le tableau des thèmes déjà choisis
                    }
                    if (themes.length < 4) { // relance la function tant qu'on n'a pas 4 thèmes
                        choixThemes();
                    }
                }

                // Affiche, sous forme de boutons, les thèmes trouvés
                function afficheThemes() {
                    $.each(themes, function (index, value) {
                        
                        $('#themes').append('<button class="btn btn-danger choisirTheme" value="' + value + '" type="button" >');
                        $('#themes').append(' ' + themes4alasuite[value][1] + '</br>');
                        $('#themes').append('</button>');
                     
                    });
                }

                // Affiche une question aléatoire dans le thème choisi
                



             $('#stopChrono').on('click', function () {
                $("#countdown_sec").text("0");
                timerManager.stop("0")
             });
        



              
                // A corriger
                
                // Le  chrono doit s'enclencher dès que l'on pose la première question, se remettre à 50 lors d'un nouveau thème
             
                
                

                timerManager = {
                    start: function ($secondes) {


                        if ($secondes >= 0) { // tant que le chrono est supérieur à zéro
		if ($secondes >= 81) {
  $('#quiJoue').text('Equipe 1 ' + 'doit jouer');
} else if ($secondes >= 41) {
  $('#quiJoue').text('Equipe 2 ' + 'doit jouer');
} else {
  $('#quiJoue').text('Equipe 3 ' + 'doit jouer');
} 

$secondes = $secondes - 1; 





                            chrono = 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(chrono);
                        $('#countdown_sec').text('0');
                        $("#theme").text("THEME :" + "");
                        $("#question").text("");
                        $("#reponse").text("");
                        $("#quiJoue").text("doit jouer");
                    }
                };


9 réponses

yg_be Messages postés 22724 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 25 avril 2024 1 476
4 août 2022 à 10:44

bonjour,

as-tu fait le lien entre le message d'erreur et la ligne de code?

quand tu partages le contenu d'un fichier, peux-tu préciser le nom du fichier?

0
Nirsab Messages postés 78 Date d'inscription samedi 17 juillet 2021 Statut Membre Dernière intervention 8 août 2022
Modifié le 4 août 2022 à 10:55

Euh... J'ai juste compris que ca foire à cet endroit... Mais ce que je ne comprends pas, c'est que pour les premières questions, ça fonctionne, et après... (Il y a 11 questions pour chaque thème)

function question() {
                 
                    var min = 0;
                    var max = 12;
                    aleatoire = Math.floor(Math.random() * (max - min)) + min;
                    if (questions.length === max) {
                        alert('Toutes les questions ont été posées !');
                    } else if ($.inArray(parseInt(aleatoire), questions) === -1) { 
                        quest = listeQuestions[numTheme][aleatoire][1]; // FOIRAGE
                        $('#question').text(quest); 
                        questions.push(aleatoire); 
            console.log(questions);
           
0
yg_be Messages postés 22724 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 25 avril 2024 1 476
4 août 2022 à 11:30

Quelle est la valeur de la variable "aleatoire" au moment où cela foire?

0
Nirsab Messages postés 78 Date d'inscription samedi 17 juillet 2021 Statut Membre Dernière intervention 8 août 2022 > yg_be Messages postés 22724 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 25 avril 2024
4 août 2022 à 11:47
var min = 0;
                    var max = 12;
                    aleatoire = Math.floor(Math.random() * (max - min)) + min; // cherche un nombre aléatoire
                    if (questions.length === max) {
                        alert('Toutes les questions ont été posées !');
                    } else if ($.inArray(parseInt(aleatoire), questions) === -1) { // si le numéro de la question ne figure pas dans le tableau des questions déjà posées
                        quest = listeQuestions[numTheme][aleatoire][1]; // FOIRAGE
                        $('#question').text(quest); // affiche la nouvelle question
                        questions.push(aleatoire); // rempli le tableau des questions déjà posées
            console.log(questions);
           

            
          } else function question() {
            // rappelle la fonction pour trouver un nouveau nombre aléatoire non utilisé
            
          }
        }
        $("#reponseButton").on("click", function () {
          $("#reponse").text(listeQuestions[numTheme][aleatoire][2]); // affiche la réponse
          
             });

Je ne sais pas si ça répond à ta question...

Sinon, ça loupe très aléatoirement. J'ai refais le test plusieurs fois:

une fois c'est à la question 7, une autre à la 9, encore une autre à la 6... 

De plus, quand je choisi un nouveau thème, c'est ce même bug,.. En plus, la question ne s'affiche pas correctement et la réponse n'est pas correctement donnée... Peut-être est-ce lié...

0
yg_be Messages postés 22724 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 25 avril 2024 1 476 > Nirsab Messages postés 78 Date d'inscription samedi 17 juillet 2021 Statut Membre Dernière intervention 8 août 2022
4 août 2022 à 12:03

Modifie ton code pour obtenir la  valeur de la variable "aleatoire" dans la console.

0
Nirsab Messages postés 78 Date d'inscription samedi 17 juillet 2021 Statut Membre Dernière intervention 8 août 2022 > yg_be Messages postés 22724 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 25 avril 2024
Modifié le 4 août 2022 à 12:52

Alors: Chose faite. cela donne ça. Normalement je devrais cliquer une fois sur le bouton 'question', et dès que j'ai cette alerte en rouge, ca foire... pour avoir la Q6, j'ai dû m'exciter sur la souris... Et aussi, il arrive que le bouton 'réponse' ne donne pas la réponse correspondante à la question.

Et même délire dès que je change de thème où là, le bouton question ne fonctionne pas... 

var min = 0;
                    var max = 12;
                    aleatoire = Math.floor(Math.random() * (max - min)) + min;      if (questions.length === max) {
                        alert('Toutes les questions ont été posées !');
                    } else if ($.inArray(parseInt(aleatoire), questions) === -1) { 
                        quest = listeQuestions[numTheme][aleatoire][1]; // FOIRAGE
                        console.log(aleatoire); // MODIFICATION
                        $('#question').text(quest); 
                        questions.push(aleatoire); 
            console.log(questions);
           

            
          } else function question() {
            
            
          }
        }
        $("#reponseButton").on("click", function () {
          $("#reponse").text(listeQuestions[numTheme][aleatoire][2]);
          
             });
0
yg_be Messages postés 22724 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 25 avril 2024 1 476 > Nirsab Messages postés 78 Date d'inscription samedi 17 juillet 2021 Statut Membre Dernière intervention 8 août 2022
4 août 2022 à 12:56

Moi, si je voulais avoir la valeur d'une variable au moment où cela foire, je mettrais le console.log() avant la ligne où cela foire, pas après.

En passant, penses-tu que ta ligne 14 est correcte?

0
Nirsab Messages postés 78 Date d'inscription samedi 17 juillet 2021 Statut Membre Dernière intervention 8 août 2022
4 août 2022 à 10:55
$('#questionButton').on('click', function () {
                    if (numTheme === '') {
                        alert("Choisissez d'abord un thème");
                     timerManager.start();
                    } else {
                        if (decompteLance === 'non') {
                            $secondes = 120; 
                            $('#countdown_sec').text($secondes); 
                             timerManager.start($secondes);
                            decompteLance = 'oui';
                            
                        }
                        $("#reponse").text(""); 
                        question(); // avec un retour ici...
0
yg_be Messages postés 22724 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 25 avril 2024 1 476
4 août 2022 à 14:10

Que vaut donc la variable "aleatoire" au moment du plantage?
Te souviens-tu de à quoi sert cette variable?

As-tu écrit ce programme?  Le comprends-tu?

Que veux-tu faire précisément en ligne 14?  Sais-tu à quoi sert le mot clé "function"?

0
Nirsab Messages postés 78 Date d'inscription samedi 17 juillet 2021 Statut Membre Dernière intervention 8 août 2022
4 août 2022 à 14:24

Je suis débutant, mais j'apprends...

La variable aléatoire me permet de piocher une question aléatoire dans un array, que je n'ai pas envoyé... les questions sont numérotées de 0 à 11

Ce programme, je l'ai fait avec un ami, parti en vacances... (En fait, je fais une soirée avec ce jeu demain soir avec des potes... et si ca bug bah... pas de soirée, quoi)

Je comprends ce programme, avec les connaissances que j'ai... Et à cette ligne 14, comme je le comprends, il me permet de retourner la fonction...

bref voici le programme en naturel:

quand je choisi un thème, une case est grisée et dans chaque thème (dans un array) il y a 11 questions.

Quand je clique sur le bouton question, cela m'affiche une question aléatoire, qui sera 'mise de côté' pour ne pas qu'elle ressorte plus tard. Quand je clique sur le bouton réponse, cela doit afficher la réponse à cette question. Quand je reclique sur le bouton question, cela doit m'afficher une question non posée... (Chose qui fonctionne un temps et à un moment ça part en live... ce fameux message d'erreur, et le bouton réponse qui affiche ce qu'il veut.. WHY ?) Ensuite, si je souhaite choisir un autre thème, alors là, c'est foiré... 

0
Nirsab Messages postés 78 Date d'inscription samedi 17 juillet 2021 Statut Membre Dernière intervention 8 août 2022 > Nirsab Messages postés 78 Date d'inscription samedi 17 juillet 2021 Statut Membre Dernière intervention 8 août 2022
Modifié le 4 août 2022 à 14:38
function question() {
                 
                    var min = 0;
                    var max = 10; // ET SI JE METS 12 AU LIEU DE 10, C'EST SUR QUE CA FOIRE
                    aleatoire = Math.floor(Math.random() * (max - min)) + min; 
                    if (questions.length === max) {
                        alert('Toutes les questions ont été posées !');
                    } else if ($.inArray(parseInt(aleatoire), questions) === -1) {
                        console.log(aleatoire);
                        
                        quest = listeQuestions[numTheme][aleatoire][1];  // FOIRAGE
                       
        
                   
                        
                        $('#question').text(quest); 
                        questions.push(aleatoire); 
            console.log(questions);
           

            
          } else function question() {
            
            
          }
        }
        $("#reponseButton").on("click", function () {
          $("#reponse").text(listeQuestions[numTheme][aleatoire][2]); 
        //   console.log(listeQuestions[numTheme][aleatoire][2]);
             });

Pour le premier essai, ca passe à peu près, quoique des fois je dois m'exciter sur le bouton pour afficher ma question et qu'il arrive que la réponse ne correspondent pas... Une fois que les 11 questions sont posées, le programme m'affiche que toutes les questions ont été posées... Mais impossible d'afficher les questions pour un nouveau thème choisi....

0
yg_be Messages postés 22724 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 25 avril 2024 1 476 > Nirsab Messages postés 78 Date d'inscription samedi 17 juillet 2021 Statut Membre Dernière intervention 8 août 2022
4 août 2022 à 15:29

Si tu regardes dans la console, que vaut donc la variable "aleatoire" au moment du plantage?

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
Modifié le 4 août 2022 à 15:51

Elle valait 11. Du coup, cela m'a permis de comprendre.... j'ai mal renseigné la variable max

Donc, plus de de bug de ce côté là... 

Maintenant, j'aimerais comprendre:

-- pourquoi, vers la 7ème question, je dois cliquer sur le bouton question plusieurs fois (genre 10x) avant qu'elle n'affiche la suivante...

-- pourquoi, lorsque je choisis un nouveau thème, ET quand toutes les questions du thème précédent sont posées, aucune question ne s'affiche et que j'ai le alert("Toutes les questions ont été posées") qui ne fait que s'afficher quand je clique sur le bouton questions... 

(ça m'affiche ça à chaque clique sur le ok de l'alert :

 [Violation]'click' handler took 1135ms  jquery-3.5.1.min.js:2
[Violation]'click' handler took 1774ms   jquery-3.5.1.min.js:2
[Violation]'click' handler took 1330ms  jquery-3.5.1.min.js:2
[Violation]'click' handler took 1320ms  query-3.5.1.min.js:2

)

SVP :). Et merci de prendre le temps de m'aider :-)

0
yg_be Messages postés 22724 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 25 avril 2024 1 476
4 août 2022 à 15:54

Je pense que le moment est venu de réfléchir au rôle du mot clé "function".

https://developer.mozilla.org/fr/docs/Web/JavaScript/Guide/Functions

0
Nirsab Messages postés 78 Date d'inscription samedi 17 juillet 2021 Statut Membre Dernière intervention 8 août 2022
4 août 2022 à 16:10

Je viens de lire l'article...

Dans ce cas, je ne suis pas sûr de comprendre mon cas...

Est-ce que cela veut dire que je dois utiliser une boucle ? un return ? voire carrément changer la méthode ? :-O

Là, je crois que j'ai besoin de pas à pas...

0
Nirsab Messages postés 78 Date d'inscription samedi 17 juillet 2021 Statut Membre Dernière intervention 8 août 2022
4 août 2022 à 16:49
function question() {
                 var debut;
                    var min = 0;
                    var max = 11;
                    aleatoire = Math.floor(Math.random() * (max - min)) + min; 
                    if (questions.length === max) {
                        alert('Toutes les questions ont été posées !');
                    } else if ($.inArray(parseInt(aleatoire), questions) === -1) { 
                        console.log(aleatoire);
                        
                        quest = listeQuestions[numTheme][aleatoire][1]; 
                       
        
                   
                        
                        $('#question').text(quest); 
                        questions.push(aleatoire); 
            console.log(questions);
           

            
          } else function question() {
            
            
          }
        }
        $("#reponseButton").on("click", function () {
          $("#reponse").text(listeQuestions[numTheme][aleatoire][2]); 
        return debut
             });

Bon ainsi, cela ne fonctionne pas...

(Peut-être que mon tâtonnement intéressera d'autres débutants comme moi...)

0
yg_be Messages postés 22724 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 25 avril 2024 1 476 > Nirsab Messages postés 78 Date d'inscription samedi 17 juillet 2021 Statut Membre Dernière intervention 8 août 2022
4 août 2022 à 17:21

Comprends-tu la différence entre définir une fonction et y faire appel?

0
Nirsab Messages postés 78 Date d'inscription samedi 17 juillet 2021 Statut Membre Dernière intervention 8 août 2022
4 août 2022 à 17:43

Ah ! Vas-y explique-moi stp (simple, basique ;D)

0
yg_be Messages postés 22724 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 25 avril 2024 1 476
4 août 2022 à 18:23
0
Nirsab Messages postés 78 Date d'inscription samedi 17 juillet 2021 Statut Membre Dernière intervention 8 août 2022 > yg_be Messages postés 22724 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 25 avril 2024
4 août 2022 à 18:45

D'accord, je l'ai lu et relu... mais cela ne m'aide pas vraiment à comprendre où ça coince...

0
yg_be Messages postés 22724 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 25 avril 2024 1 476 > Nirsab Messages postés 78 Date d'inscription samedi 17 juillet 2021 Statut Membre Dernière intervention 8 août 2022
4 août 2022 à 19:00

Regarde peut-être comment ce font les déclarations et les appels d'autres fonctions, dans ton code.

0
Nirsab Messages postés 78 Date d'inscription samedi 17 juillet 2021 Statut Membre Dernière intervention 8 août 2022 > yg_be Messages postés 22724 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 25 avril 2024
4 août 2022 à 19:20
function choixThemes() {
                    var min = 0;
                    var max = 20;
                    aleatoire = Math.floor(Math.random() * (max - min)) + min; // cherche un nombre aléatoire
                    if ($.inArray(parseInt(aleatoire), themes) === -1) { // si le numéro de la question ne figure pas dans le tableau des questions déjà posées
                        themes.push(aleatoire); // rempli le tableau des thèmes déjà choisis
                    }
                    if (themes.length < 4) { // relance la function tant qu'on n'a pas 4 thèmes
                        choixThemes();
                    }
                }

Celle-ci par exemple... Que dois-je comparer ?

(Je commence à baliser pour demain, moi)

0
yg_be Messages postés 22724 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 25 avril 2024 1 476 > Nirsab Messages postés 78 Date d'inscription samedi 17 juillet 2021 Statut Membre Dernière intervention 8 août 2022
4 août 2022 à 20:08

Tout ce que tu apprends te servira encore après demain.

Où se trouve la déclaration de la fonction?

N'as-tu pas dans ton code d'autres appels à la fonction?

0
Nirsab Messages postés 78 Date d'inscription samedi 17 juillet 2021 Statut Membre Dernière intervention 8 août 2022
4 août 2022 à 20:48

certes mais c'est pour demain que cela doit fonctionner...

Cette fonction n'est appelée qu'ici..

0
yg_be Messages postés 22724 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 25 avril 2024 1 476
4 août 2022 à 21:34

Imagine comme tu seras fier quand tu comprendras pourquoi et comment cela focntionne.

En quelques secondes, je trouve un autre endroit où il est fait appel à cette fonction.

0
Nirsab Messages postés 78 Date d'inscription samedi 17 juillet 2021 Statut Membre Dernière intervention 8 août 2022 > yg_be Messages postés 22724 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 25 avril 2024
5 août 2022 à 07:29

Je ne demande que ça: COMPRENDRE !! lol  Voilà ce que tu as demandé... Je ne la vois nulle part ailleurs, cette fonction question()... Je ne réussirai jamais à finir ça pour cet am ;'-(

$('#questionButton').on('click', function () {
                    if (numTheme === '') {
                        alert("Choisissez d'abord un thème");
                     timerManager.start();
                    } else {
                        if (decompteLance === 'non') {
                            $secondes = 120; 
                            $('#countdown_sec').text($secondes); 
                             timerManager.start($secondes); 
                            decompteLance = 'oui';
                            
                        }
                        $("#reponse").text(""); 
                        question(); // APPEL FONCTION
                    }
              
                });


                function question() { // FONCTION
    
    var min = 0;
    var max = 11;
    aleatoire = Math.floor(Math.random() * (max - min)) + min;
    if (questions.length === max) {
        alert('Toutes les questions ont été posées !');
    } else if ($.inArray(parseInt(aleatoire), questions) === -1) {
                    console.log(aleatoire);
                    
                    quest = listeQuestions[numTheme][aleatoire][1];  
                    
                    $('#question').text(quest); 
                    questions.push(aleatoire); 
        console.log(questions);

    } else function question() { // APPEL FONCTION
        
        
    }
}
        
        $("#reponseButton").on("click", function () {
          $("#reponse").text(listeQuestions[numTheme][aleatoire][2]); 
     
             });
0
yg_be Messages postés 22724 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 25 avril 2024 1 476 > Nirsab Messages postés 78 Date d'inscription samedi 17 juillet 2021 Statut Membre Dernière intervention 8 août 2022
5 août 2022 à 08:41

Regarde bien comment cela s'organise pour la fonction choixThemes().

En ligne 22 du code montré au départ, tu as un appel à la fonction, une demande d'éxécution de la fonction:

choixThemes(); // recherche 4 thèmes de façon aléatoire

Dans le code que tu as partage en #24, tu as une déclaration de la fonction, qui définit ce que fait la fonction (tu peux observer que, dans certains cas, la fonction fait appel à elle-même:

function choixThemes() {
                    var min = 0;
                    var max = 20;
                    aleatoire = Math.floor(Math.random() * (max - min)) + min; // cherche un nombre aléatoire
                    if ($.inArray(parseInt(aleatoire), themes) === -1) { // si le numéro de la question ne figure pas dans le tableau des questions déjà posées
                        themes.push(aleatoire); // rempli le tableau des thèmes déjà choisis
                    }
                    if (themes.length < 4) { // relance la function tant qu'on n'a pas 4 thèmes
                        choixThemes();
                    }
                }

Comme signalé le 4 août 2022 à 12:56, la ligne de code suivante ne fait pas du tout appel à la fonction question().

} else function question() { // APPEL FONCTION
0
Nirsab Messages postés 78 Date d'inscription samedi 17 juillet 2021 Statut Membre Dernière intervention 8 août 2022 > yg_be Messages postés 22724 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 25 avril 2024
5 août 2022 à 08:47

Moui... donc il faut intervertir 2 choses ? 

c'est vraiment flou, désolé :'-(

0
Sanit > Nirsab Messages postés 78 Date d'inscription samedi 17 juillet 2021 Statut Membre Dernière intervention 8 août 2022
Modifié le 5 août 2022 à 16:34

Salut, non ce n'est pas une question d'intervertir mais de syntaxe: il faut écrire correctement votre if else.

Le mieux si vous ne savez pas c'est de regarder dans le manuel:

https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Statements/if...else

Cela ne fonctionne que si vous avez les bases du langage. Comme déclarer une variable, les différents types de variable, savoir créer et utiliser une fonction et les structures de test(ou conditionnele) comme if  else (si et sinon en français) ce que visiblement vous avez loupé.

Evidemment une fonction ne doit pas faire appel à elle même dans la plupart des cas, le reste c'est une exception appelée singleton mais pas pertinent ici.

Voyez une fonction comme un regroupement d'instructions avec un nom(ou pas ce sont les fonctions anonymes) et bien sûr une fonction peut en appeler une autre mais pas s’appeler elle même ce qui n'aurait aucun sens ou serait une boucle infini autrement dit un bug.

Exemple: ma fonction "dit mon nom". La fonction doit donc dire le nom et pas appeler la fonction qui dit le nom sinon on tourne en rond et rien ne se passe. JavaScript indique une erreur plutôt que d'essayer de faire un boucle infini(parce qu'elle demande d’appeler la fonction qui va à nouveau appeler la fonction etc... au lieu de faire pour quoi elle est prévue).

ps: dans un premier temps n'utilisez pas JQuery qui n'est qu'une bibliothèque JavaScript et va vous embrouiller et vous donner des mauvaises habitudes surtout qu'ici ça ne se justifie pas de l'utiliser et n'aura pour effet que de ralentir votre code, donc votre page.

0
Nirsab Messages postés 78 Date d'inscription samedi 17 juillet 2021 Statut Membre Dernière intervention 8 août 2022
Modifié le 8 août 2022 à 16:57

Merci pour ces explications :)

Ca commence à être plus clair.

Juste encore 3 bugs:

1: Le bouton stop du chrono fait que le chrono s'arrête mais repart quand même là où il s'est arrêté

2: Si toutes les questions sont posées dans le temps imparti, lorsque je choisis un nouveau thème, le chrono ne reprend pas à 60s

3: si le chrono affiche 0 à la fin du temps, et si on choisi un autre thème, le chrono ne redémarre pas...

Voici le code: Et une fois que tout sera réglé, je ne vous dérange plus, jusqu'à la prochaine fois lol :)

<!DOCTYPE html>
<html>
    <head>
        <title>Questions pour un Champion</title>
        <meta charset="utf-8">
        <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" integrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3" crossorigin="anonymous">
        <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.13.0/css/all.css">
    </head>
    <body>
        <div class="container-fluid">

            <div class="row">
                <div class="col">
                    <div class="alert alert-danger" role="alert" style="text-align: center;font-weight: bold;">
                        <h1>MAX À LA SUITE</h1>
                        <button class="btn btn-warning" type="button" data-bs-toggle="collapse" data-bs-target="#collapseExample" aria-expanded="false" aria-controls="collapseExample">
                            <i class="fas fa-hand-sparkles"></i> Règles
                        </button><br/>
                        <div class="collapse" id="collapseExample" style="margin-top: 10px">
                            <div class="alert alert-warning" style="text-align: justify">
                                4 thèmes sont proposées. L'équipe éliminée à la manche précédente choisira d'entrée de jeu le thème pour chaque équipe en course parmi ces thèmes. 
                                Les joueurs de l'équipe répondront à tour de rôle (Joueur A, puis B, puis C, puis A etc...).
                                Les questions sont posées aléatoirement. Chaque réponse apporte 1 point. En cas de mauvaise réponse, 
                                le score retombe à 0 et ne sera conservé que le score affiché en fin de chrono. Le but est d'avoir
                                le plus de points à la suite, avant la fin de la liste de 11 questions, le tout en 60 secondes ou moins.
                                En cas d'égalité, un jeu décisif aléatoire sera proposé. 
                                Les 2 équipes ayant réalisé les meilleures performances seront qualifiées pour la manche finale.
                            </div>
                        </div>
                       
                    </div>
                </div>

            </div>
            <div class="row">
                <div class="col">
                    <button id="themesAleatoires" class="btn btn-info" type="button"><i class="fas fa-list-ol"></i> 4 Thèmes</button>
                    <br/><br/>
                    <div id="themes" style="font-size: 18px"></div>
                </div>
                <div class="col">
                    <table class="table table-striped table-bordered">
                        <thead>
                            <tr class="table-success">
                                <th>ÉQUIPES QUALIFIÉES + JOUEUR A, B, C</th>
                                <th>SCORE</th>
                                <th>COMPTEUR</th>
                            </tr>
                        </thead>
                        <tbody>
                            <tr>
                                <td>1ère Équipe Qualifiée
                                    <input></td>
                                <td><span id="compteur1" style="font-size: 20px"><b>0</b></span></td>
                                <td>
                                    <button class="btn btn-success compteur" value="1|1" type="button"><i class="fas fa-plus"></i> 1</button> 
                                    <button class="btn btn-danger mise0" value="1|0" type="button"><i class="fab fa-creative-commons-zero"></i></button>
                                </td>
                            </tr>
                            <tr>
                                <td>2ème Équipe Qualifiée
                                    <input></td>
                                <td><span id="compteur2" style="font-size: 20px"><b>0</b></span></td>
                                <td>
                                    <button class="btn btn-success compteur" value="2|1" type="button" ><i class="fas fa-plus"></i> 1</button> 
                                    <button class="btn btn-danger mise0" value="2|0" type="button"><i class="fab fa-creative-commons-zero"></i></button>
                                </td>
                            </tr>
                            <tr>
                                <td>3ème Équipe Qualifiée
                                    <input></td>
                                <td><span id="compteur3" style="font-size: 20px"><b>0</b></span></td>
                                <td>
                                    <button class="btn btn-success compteur" value="3|1" type="button"><i class="fas fa-plus"></i> 1</button> 
                                    <button class="btn btn-danger mise0" value="3|0" type="button"><i class="fab fa-creative-commons-zero"></i></button>
                                </td>

                                <!-- <tr>
                                    <td>4ème Équipe Qualifiée
                                        <input></td>
                                    <td><span id="compteur4"><b>0</b></span></td>
                                    <td>
                                        <button class="btn btn-success compteur" value="4|1" type="button"><i class="fas fa-plus"></i> 1</button> 
                                        <button class="btn btn-danger mise0" value="4|0" type="button"><i class="fab fa-creative-commons-zero"></i></button>
                                    </td>
                                </tr> -->
                            </tr>
                        </tbody>
                    </table>
                </div>
            </div>

            <div class="row">
                <div class="col">
                    <div id="theme" class="alert alert-primary" role="alert">Thème...</div>
                    <table class="table table-borderless">
                        <tbody>
                            <tr>
                                <td><button id="questionButton" class="btn btn-warning" type="button"><i class="far fa-comment-dots"></i> Question</button></td>
                                <td><div id="question" style="font-size: 25px"></div></td>
                            </tr>
                            <tr>

                                <td><button id="reponseButton" class="btn btn-primary" type="button"><i class="far fa-lightbulb"></i> Réponse</button></td>

                                <td><div id="reponse" style="font-size: 20px"></div></td>
                                <td><button id="stopChrono" class="btn btn-primary" type="button" style="background-color:red;"><i class="far fa-stop-circle"></i> Stop</button></td>
                            </tr>
                        </tbody>
                    </table>
                </div>
                <div class="col">
                    <div class="alert alert-danger" role="alert" style="text-align:center;">
                        <b>Temps restant :</b><br>
                      

                    </div>
                    <div class="jumbotron" style="text-align:center;font-size:2em;font-weight:bold">
                        <span id="countdown_sec">60 secondes</span>
                    </div>
                </div>
            </div>
            <div>
                <div class="col">
                    <table class="table table-borderless">
                        <tbody>
                            <tr>
                                <td><div id="decisif" class="alert alert-primary" role="alert">Jeu décisif</div></td>
                                <td><button id="jeuDecisif" class="btn btn-warning" type="button" style="background-color:hotpink;"><i class="far fa-handshake"></i> Jeu</button></td>
                                <td><button id="reglejd" style="background-color:lightgray"><i class="fas fa-hand-sparkles"></i> Règles</td>
                                <td><button id="quiJoueJD" style="background-color:lightgreen"><i class="fab fa-playstation"></i> Qui joue ?</td>
                                <!-- <td><button id="chronometre" class="btn btn-warning" type="button" style="background-color:burlywood;"><i class="fas fa-stopwatch"></i> Chrono</button></td>
                                <td><button id="stopChrono" class="btn btn-warning" type="button" style="background-color:palevioletred;"><i class="far fa-stop-circle"></i> Stop</button></td>
                                <td><button id="back0Chrono" class="btn btn-warning" type="button" style="background-color:silver;"><i class="fas fa-undo-alt"></i> Mise à 0</button></td> -->
                            </tr>
                        </tbody>
                    </table>
                    <!-- <div class="alert alert-danger" role="alert" style="text-align:center;">
                        <b>Temps :</b>
                    </div>
                    <div class="jumbotron" style="text-align:center;font-size:2em;font-weight:bold">
                        <span id="countup_sec">0 secondes</span> -->
                    </div>
                </div>
            </div>
            
        </div>

        <script src="https://code.jquery.com/jquery-3.5.1.min.js"></script>
        <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-ka7Sk0Gln4gmtz2MlQnikT1wXgYsOg+OMhuP+IlRH9sENBO0LRn5q+8nbTov4+1p" crossorigin="anonymous"></script>
        <script src="https://code.jquery.com/ui/1.12.1/jquery-ui.min.js"></script>
        <!-- <script src="""></script> -->
        <script>
            $(document).ready(function () {//n'apparait qu'une fois//

                var chrono; // gestion du chrono
                var decompteLance = 'non'; // pour empêcher le bouton Question de lancer plusieurs fois le chrono
                var aleatoire; // nombre aléatoire
                var themes = []; // affichage de 4 thèmes aléatoires
                var numTheme = ''; // thème choisit
                var questions = []; // questions déjà posées
                //var precedente = null; // question/réponse précédente

                

                // Affichage de 4 thèmes aléatoires
                $('#themesAleatoires').on('click', function () {
                    $('#themes').text(''); // vide la liste des thèmes
                    themes = []; // vide le tableau de mémorisation des thèmes
                    choixThemes(); // recherche 4 thèmes de façon aléatoire
                    afficheThemes(); // affiche les 4 thèmes
                     
                });

                // Choix d'un thème particulier (grise le bouton et le desactive)
                // la syntaxe d'appel est différente car les boutons de choix n'existent pas encore au chargement de la page
                $(document).on('click', '.choisirTheme', function () {
    numero = $(this).attr('value');
    numTheme = themes4alasuite[numero][0]; // mémorise le numéro du thème choisit
    theme = themes4alasuite[numero][1]; //
    $('#theme').text('THEME : ' + theme); // affiche le thème choisi en-dessous du bouton Question
    $(this).css('background-color', 'grey'); // colore le bouton en gris
    $(this).attr('disabled', 'disabled'); // désactive le bouton
    
    // nouveau ----------------------------------------------------------------------------
    $('#questionButton').attr('disabled', false) // réactive the bouton de questions
    questions = [] // s'assure que la liste des questions posées sur ce thème est bien vide.

});

                $('#questionButton').on('click', function () {
                    if (numTheme === '') {
                        alert("Choisissez d'abord un thème");
                     timerManager.start();
                    } else {
                        if (decompteLance === 'non') {
                            $secondes = 60; // définit le nombre de secondes
                            $('#countdown_sec').text($secondes); //affiche 50 dans le chrono
                             timerManager.start($secondes); // lance le timer
                            decompteLance = 'oui';
                            
                        }
                        $("#reponse").text(""); 
                        question();
                    }
              
                });


                function question() {

var min = 0;
var max = (listeQuestions[numTheme]).length; // <----------------------- max dépend du nombre de questions pour ce thème 
aleatoire = Math.floor(Math.random() * (max - min)) + min; // cherche un nombre aléatoire
if (questions.length === max) {
    alert('Toutes les questions ont été posées !');
    $('#questionButton').attr('disabled', true)     // <------------ désactive le bouton des questions
    timerManager.stop();
} else if (! questions.includes(parseInt(aleatoire))) { // si le numéro de la question ne figure pas dans le tableau des questions déjà posées

    quest = listeQuestions[numTheme][aleatoire][1];
    $('#question').text(quest); // affiche la nouvelle question
    questions.push(aleatoire); // rempli le tableau des questions déjà posées

} else {
    question()
    // rappelle la fonction pour trouver un nouveau nombre aléatoire non utilisé
}
}
        $("#reponseButton").on("click", function () {
          $("#reponse").text(listeQuestions[numTheme][aleatoire][2]); // affiche la réponse
          
     
             });
 

                // Ajoute des points à une équipe
                $('.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 <= 10) {
                        $('#compteur' + $val[0]).text($new_score);
                    } else {
                        $('#compteur' + $val[0]).text('ÉQUIPE QUALIFIÉE')
                       
                    }

                });

                // Remet le nombre de points d'une équipe à zéro
                $('.mise0').on('click', function () {
                    $val = $(this).attr('value').split('|');
                    $champ = '#compteur' + $val[0];
                    console.log("CHAMP", $champ);
                    $($champ).text('0');
                });

                // Recherche 4 thèmes de façon aléatoire
                function choixThemes() {
                    var min = 0;
                    var max = 20;
                    aleatoire = Math.floor(Math.random() * (max - min)) + min; // cherche un nombre aléatoire
                    if ($.inArray(parseInt(aleatoire), themes) === -1) { // si le numéro de la question ne figure pas dans le tableau des questions déjà posées
                        themes.push(aleatoire); // rempli le tableau des thèmes déjà choisis
                    }
                    if (themes.length < 4) { // relance la function tant qu'on n'a pas 4 thèmes
                        choixThemes();
                    }
                }

                // Affiche, sous forme de boutons, les thèmes trouvés
                function afficheThemes() {
                    $.each(themes, function (index, value) {
                        
                        $('#themes').append('<button class="btn btn-danger choisirTheme" value="' + value + '" type="button" >');
                        $('#themes').append(' ' + themes4alasuite[value][1] + '</br>');
                        $('#themes').append('</button>');
                     
                    });
                }

                // Affiche une question aléatoire dans le thème choisi
                


             $('#stopChrono').on('click', function () {
                $("#countdown_sec").text("0");
                timerManager.stop("0")
             });
        
                

                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 () {
                        clearTimeout(chrono);
                        $('#countdown_sec').text('0');
                        $("#theme").text("THEME :" + "");
                        $("#question").text("");
                        $("#reponse").text("");
                        
                    }
                };



                $('#jeuDecisif').on('click', function () {
                    var min = 0;
                    var max = 7;
                    aleatoire = Math.floor(Math.random() * (max - min)) + min;
                    $('#jeuDecisif').text(jeudecisif[aleatoire][1]);
                    $('#reglejd').text(jeudecisif[aleatoire][2]);
                    $('#quiJoueJD').text(jeudecisif[aleatoire][3]);
                });



                    jeudecisif = [
                        [0, 'Ni oui, ni non', 'Qui tiendra le plus longtemps sans dire les mots interdits ?', 'Un joueur par équipe'],
                        [1, 'Le mot de passe', 'Qui fera deviner le plus de mots possible en 2 min?', 'Un joueur par équipe'],
                        [2, 'L\'Alpha-bête', 'Qui sera capable de réciter l\'alphabet à l\'envers, le plus loin possible sans se tromper ?', 'Un joueur par équipe'],
                        [3, 'Dans mon sac, il y a...', 'Quel joueur fera gagner son équipe à ce jeu de mémoire tonitruant ?', 'Tous les joueurs de chaque équipe'],
                        [4, 'Jeu du dictionnaire', 'Qui donnera les 3 définitions les plus proches (drôles ?) de ces mots inconnus au bataillon ?', 'Réponse collégiale de chaque équipe'],
                        [5, 'Mix Sing Can', 'Qui sera capable de chanter un cantique avec une autre musique dans les oreilles ? Au premier qui craque !', 'Un joueur par équipe'],
                        [6, 'Plus ou Moins', 'Qui trouvera le nombre le plus rapidement ?', 'Un joueur par équipe']
                    ];


             

                    jeudecisif = [
                        [0, 'Ni oui, ni non', 'Qui tiendra le plus longtemps sans dire les mots interdits ?', 'Un joueur par équipe'],
                        [1, 'Le mot de passe', 'Qui fera deviner le plus de mots possible en 2 min?', 'Un joueur par équipe'],
                        [2, 'L\'Alpha-bête', 'Qui sera capable de réciter l\'alphabet à l\'envers, le plus loin possible sans se tromper ?', 'Un joueur par équipe'],
                        [3, 'Dans mon sac, il y a...', 'Quel joueur fera gagner son équipe à ce jeu de mémoire tonitruant ?', 'Tous les joueurs de chaque équipe'],
                        [4, 'Jeu du dictionnaire', 'Qui donnera les 3 définitions les plus proches (drôles ?) de ces mots inconnus au bataillon ?', 'Réponse collégiale de chaque équipe'],
                        [5, 'Mix Sing Can', 'Qui sera capable de chanter un cantique avec une autre musique dans les oreilles ? Au premier qui craque !', 'Un joueur par équipe'],
                        [6, 'Plus ou Moins', 'Qui trouvera le nombre le plus rapidement ?', 'Un joueur par équipe']
                    ];

                    themes4alasuite = [
                        [0, 'La géographie'],
                        [1, 'DJ français'],
                        [2, 'Histoire de France'],
                        [3, 'Le mode de vie des grenouilles'],
                        [4, 'La généalogie de Barak Obama'],
                        [5, 'Les polices d\'écriture'],
                        [6, 'Les langues mortes'],
                        [7, 'Les Youtubers français'],
                        [8, 'Charlie Chaplin'],
                        [9, 'Les marques de téléphones portables'],
                        [10, 'Les couleurs de robe de cheval'],
                        [11, 'Les animaux du passé'],
                        [12, 'Les rois du Maroc'],
                        [13, 'La population chinoise'],
                        [14, 'Des personnages très connus... Ou pas !'],
                        [15, 'Beethoven'],
                        [16, 'Que s\'est-il passé en...'],
                        [17, 'Chiffres, Nombres et Dates'],
                        [18, 'Vrai ou Faux'],
                        [19, 'Thème des grands dangers !!']
                    ];

                    listeQuestions = {
                        '0': [//La géographie//
                            [0, '0', '0'],
                            [1, '1', '1'],
                            [2, '2', '2'],
                            [3, '3', '3'],
                            [4, '4', '4'],
                            [5, '5', '5'],
                            [6, '6', '6'],
                            [7, '7', '7'],
                            [8, '8', '8'],
                            [9, '9', '9'],
                            [10, '9', '9']
                        ],
                        '1': [//DJ//
                        [0, '0', '0'],
                            [1, '1', '1'],
                            [2, '2', '2'],
                            [3, '3', '3'],
                            [4, '4', '4'],
                            [5, '5', '5'],
                            [6, '6', '6'],
                            [7, '7', '7'],
                            [8, '8', '8'],
                            [9, '9', '9'],
                            [10, '9', '9']
                        ],
                        '2': [//Hist fr//
                        [0, '0', '0'],
                            [1, '1', '1'],
                            [2, '2', '2'],
                            [3, '3', '3'],
                            [4, '4', '4'],
                            [5, '5', '5'],
                            [6, '6', '6'],
                            [7, '7', '7'],
                            [8, '8', '8'],
                            [9, '9', '9'],
                            [10, '9', '9']
                        ],
                        '3': [//grenouille//
                        [0, '0', '0'],
                            [1, '1', '1'],
                            [2, '2', '2'],
                            [3, '3', '3'],
                            [4, '4', '4'],
                            [5, '5', '5'],
                            [6, '6', '6'],
                            [7, '7', '7'],
                            [8, '8', '8'],
                            [9, '9', '9'],
                            [10, '9', '9']
                        ],
                        '4': [//obama//
                        [0, '0', '0'],
                            [1, '1', '1'],
                            [2, '2', '2'],
                            [3, '3', '3'],
                            [4, '4', '4'],
                            [5, '5', '5'],
                            [6, '6', '6'],
                            [7, '7', '7'],
                            [8, '8', '8'],
                            [9, '9', '9'],
                            [10, '9', '9']
                        ],
                        '5': [//police//
                        [0, '0', '0'],
                            [1, '1', '1'],
                            [2, '2', '2'],
                            [3, '3', '3'],
                            [4, '4', '4'],
                            [5, '5', '5'],
                            [6, '6', '6'],
                            [7, '7', '7'],
                            [8, '8', '8'],
                            [9, '9', '9'],
                            [10, '9', '9']
                        ],
                        '6': [//langues mortes//
                        [0, '0', '0'],
                            [1, '1', '1'],
                            [2, '2', '2'],
                            [3, '3', '3'],
                            [4, '4', '4'],
                            [5, '5', '5'],
                            [6, '6', '6'],
                            [7, '7', '7'],
                            [8, '8', '8'],
                            [9, '9', '9'],
                            [10, '9', '9']
                        ],
                        '7': [//youtuber
                        [0, '0', '0'],
                            [1, '1', '1'],
                            [2, '2', '2'],
                            [3, '3', '3'],
                            [4, '4', '4'],
                            [5, '5', '5'],
                            [6, '6', '6'],
                            [7, '7', '7'],
                            [8, '8', '8'],
                            [9, '9', '9'],
                            [10, '9', '9']
                        ],
                        '8': [//chaplin
                        [0, '0', '0'],
                            [1, '1', '1'],
                            [2, '2', '2'],
                            [3, '3', '3'],
                            [4, '4', '4'],
                            [5, '5', '5'],
                            [6, '6', '6'],
                            [7, '7', '7'],
                            [8, '8', '8'],
                            [9, '9', '9'],
                            [10, '9', '9']
                        ],
                        '9': [//poryable
                        [0, '0', '0'],
                            [1, '1', '1'],
                            [2, '2', '2'],
                            [3, '3', '3'],
                            [4, '4', '4'],
                            [5, '5', '5'],
                            [6, '6', '6'],
                            [7, '7', '7'],
                            [8, '8', '8'],
                            [9, '9', '9'],
                            [10, '9', '9']
                        ],
                        '10': [//cheval
                        [0, '0', '0'],
                            [1, '1', '1'],
                            [2, '2', '2'],
                            [3, '3', '3'],
                            [4, '4', '4'],
                            [5, '5', '5'],
                            [6, '6', '6'],
                            [7, '7', '7'],
                            [8, '8', '8'],
                            [9, '9', '9'],
                            [10, '9', '9']
                        ],
                        '11': [//anim passé
                        [0, '0', '0'],
                            [1, '1', '1'],
                            [2, '2', '2'],
                            [3, '3', '3'],
                            [4, '4', '4'],
                            [5, '5', '5'],
                            [6, '6', '6'],
                            [7, '7', '7'],
                            [8, '8', '8'],
                            [9, '9', '9'],
                            [10, '9', '9']
                        ],
                        '12': [//maroc
                        [0, '0', '0'],
                            [1, '1', '1'],
                            [2, '2', '2'],
                            [3, '3', '3'],
                            [4, '4', '4'],
                            [5, '5', '5'],
                            [6, '6', '6'],
                            [7, '7', '7'],
                            [8, '8', '8'],
                            [9, '9', '9'],
                            [10, '9', '9']
                        ],
                        '13': [//popula chine
                        [0, '0', '0'],
                            [1, '1', '1'],
                            [2, '2', '2'],
                            [3, '3', '3'],
                            [4, '4', '4'],
                            [5, '5', '5'],
                            [6, '6', '6'],
                            [7, '7', '7'],
                            [8, '8', '8'],
                            [9, '9', '9'],
                            [10, '9', '9']
                        ],
                        '14': [//Des personnages très connus... Ou pas !//
                        [0, '0', '0'],
                            [1, '1', '1'],
                            [2, '2', '2'],
                            [3, '3', '3'],
                            [4, '4', '4'],
                            [5, '5', '5'],
                            [6, '6', '6'],
                            [7, '7', '7'],
                            [8, '8', '8'],
                            [9, '9', '9'],
                            [10, '9', '9']
                        ],
                        '15': [//betoven
                        [0, '0', '0'],
                            [1, '1', '1'],
                            [2, '2', '2'],
                            [3, '3', '3'],
                            [4, '4', '4'],
                            [5, '5', '5'],
                            [6, '6', '6'],
                            [7, '7', '7'],
                            [8, '8', '8'],
                            [9, '9', '9'],
                            [10, '9', '9']
                        ],
                        '16': [//Que s'est-il passé en...//
                        [0, '0', '0'],
                            [1, '1', '1'],
                            [2, '2', '2'],
                            [3, '3', '3'],
                            [4, '4', '4'],
                            [5, '5', '5'],
                            [6, '6', '6'],
                            [7, '7', '7'],
                            [8, '8', '8'],
                            [9, '9', '9'],
                            [10, '9', '9']
                        ],
                        '17': [//Chiffres, Nombres et Dates//
                        [0, '0', '0'],
                            [1, '1', '1'],
                            [2, '2', '2'],
                            [3, '3', '3'],
                            [4, '4', '4'],
                            [5, '5', '5'],
                            [6, '6', '6'],
                            [7, '7', '7'],
                            [8, '8', '8'],
                            [9, '9', '9'],
                            [10, '9', '9']
                        ],
                        '18': [//Vrai ou Faux//
                        [0, '0', '0'],
                            [1, '1', '1'],
                            [2, '2', '2'],
                            [3, '3', '3'],
                            [4, '4', '4'],
                            [5, '5', '5'],
                            [6, '6', '6'],
                            [7, '7', '7'],
                            [8, '8', '8'],
                            [9, '9', '9'],
                            [10, '9', '9']
                        ],
                        '19': [//Thème des grands dangers !!//
                        [0, '0', '0'],
                            [1, '1', '1'],
                            [2, '2', '2'],
                            [3, '3', '3'],
                            [4, '4', '4'],
                            [5, '5', '5'],
                            [6, '6', '6'],
                            [7, '7', '7'],
                            [8, '8', '8'],
                            [9, '9', '9'],
                            [10, '9', '9']
                        ]
                    };
                });


          
        </script>
    </body>
</html>
0