Bug de remise à 0 (JQuery)
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 2022 à 15:52
- Bug de remise à 0 (JQuery)
- Remise a zero pc - Guide
- Bug yahoo mail - Accueil - Mail
- Qualité de signal parabole 0 - Forum TNT / Satellite / Réception
- Bug vinted 0 vue - Forum Réseaux sociaux
- Numéro de téléphone excel 0 - Guide
2 réponses
Salut, dur de dire quoi que ce soit sans savoir ce que vous voulez faire et voir le HTML concerné.
Pour le décompte c'est simple il n'y en a pas puisque vous utilisez un setTimeout d'eune valeur de 1000 ms
<span>setTimeout</span><span>(</span><span>function</span> <span>()</span> <span>{</span> <span>// éxécute le code toutes les 1000 millisecondes</span>
$<span>(</span><span>'#countdown_sec'</span><span>).</span><span>text</span><span>(</span>$secondes<span>);</span> <span>// affiche le temps restant</span>
timerManager<span>.</span><span>start</span><span>(</span>$secondes<span>);</span> <span>// rappelle la fonction</span>
<span>}</span><span>,</span> <span>1000</span><span>);</span>
Si vous voulez un décompte il faut donc rajouter une variable qui fait le décompte à mettre dans la boucle du setTimeout (voir requestAnimationFrame qui est beaucoup plus performant et pratique à utiliser sinon).
Euh rien ne vous choque ici, étonant que vous n'ayez pas d'erreur:
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(); } }
Une fonction qui s'appelle elle même? La récursivité à ses limites.
ps: je ne vois pas l'utilité de JQuery ici puisque vous ne faites appel qu'au sélecteurs JQuery ni des variables JQuery. Le seul résultat que vous obtenez(sans parler de la mémoire) est de ralentir le chargement de votre page et le le temps d’exécution(en passant par $maVariable et la boucle JQuery) par rapport à du pur JavaScript qui ne demanderait qu'un changement minime de syntaxe sur votre code(écrire vos sélecteurs en vanilla JS donc). Et bon du délai dans le temps d'exécution sur un chrono précis au millième de secondes ça paraît pas fameux surtout que ça peut facilement être évité ici.
Modifié le 2 août 2022 à 15:54
<!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 final. Le but est d'avoir le maximum de points possibles (jusqu'à 11), le tout en 50 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"></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 Equipe 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 Equipe 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 Equipe 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> </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> </div> </div> </div> </div>
Merci pour la réponse. Comme dit, en soit tout le code fonctionne à l'exception de ce détail énoncé dans le premier message. Voici le HTML...
(je crois que vous vous êtes trompés dans les balises de codes ;)