Création d'un compteur de comptage simple en JavaScript. Lorsque je clique sur le bouton de démarrage, il y a un décalage entre le moment où le bouton est cliqué et le début de la minuterie. Quelqu'un peut-il s'il vous plaît expliquer pourquoi c'est. Je suis un débutant à JavaScript, donc je suis clair et simple à comprendre l'explication serait vraiment appréciée.Décalage du compte à rebours à partir du compteur
Nous vous remercions à l'avance
var startButton = document.getElementById("start");
var pauseButton = document.getElementById("pause");
var resetButton = document.getElementById("reset");
var minutesHTML = document.getElementById("minutes");
var secondsHTML = document.getElementById("seconds");
var seconds = 00;
var minutes = 00;
var myTimer = false;
startButton.onclick = startTimer;
pauseButton.onclick = pauseTimer;
resetButton.onclick = resetTimer;
function startTimer() {
\t
\t myTimer = setInterval (function() {
\t \t
\t \t if (seconds < 10) {
\t \t \t secondsHTML.innerHTML = "0" + seconds;
\t \t }
\t \t if (seconds > 9) {
\t \t \t secondsHTML.innerHTML = seconds;
\t \t }
\t \t
\t \t
\t \t seconds ++;
\t \t
\t \t if (seconds % 60 == 0) {
\t \t \t minutes ++;
\t \t \t seconds = 00;
\t \t }
\t \t
\t \t if (minutes < 10) {
\t \t \t minutesHTML.innerHTML = "0" + minutes;
\t \t }
\t \t
\t \t if (minutes >= 10) {
\t \t \t minutesHTML.innerHTML = minutes;
\t \t }
\t \t
\t } \t \t
\t , 1000)
}
function pauseTimer() {
\t clearInterval(myTimer);
}
function resetTimer() {
\t seconds = 00;
\t minutes = 00;
\t secondsHTML.innerHTML = seconds;
\t minutesHTML.innerHTML = minutes;
\t
\t console.log(secondsHTML + minutesHTML);
\t clearInterval(myTimer);
}
body{
\t background: tomato;
\t text-align: center;
\t margin: auto;
\t font-size: 50px;
}
h1 {
\t font-size: 20px;
}
.button-container {
\t display: flex;
\t margin: auto;
}
button {
\t text-align: center;
\t border: none;
\t width: 20%;
\t background: #fff;
\t font-size: 20px;
\t margin: auto;
}
<h1>TIMER</h1>
<p>
\t <span id="minutes">00</span>
\t :
\t <span id="seconds">00</span>
</p>
<div class="button-container">
<button id="start"><p>START</p></button>
<button id = "pause"><p>PAUSE</p></button>
<button id = "reset"><p>RESET</p></button>
</div>
[Motifs de délais plus longs que ceux spécifiés] (https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/setTimeout#Reasons_for_delays_longer_than_specified) – Will
'' setTimout' et setInterval' sont pas garanti d'être précis aux fins de la gestion du temps. Ils sont censés être une durée "minimale" pendant laquelle vous attendez que votre callback soit exécuté. Cela est dû au fait que JavaScript est monothread et que le rappel ne peut pas s'exécuter tant que le contexte d'exécution actuel n'est pas terminé. –
Veuillez ne pas poster sur des liens tiers lorsque vous pouvez insérer un extrait de code qui peut s'exécuter ici. Les liens avec des tiers peuvent devenir instables au fil du temps et nous voulons que votre question (et son code) soit pertinente et compréhensible longtemps dans le futur. –