Cronometro JavaScript
Un cronometro viene utilizzato per misurare la quantità di tempo tra la sua attivazione e disattivazione. Aiuta a misurare il tempo impiegato per un’attività specifica. Costruiremo il nostro cronometro utilizzando i metodi di temporizzazione JavaScript setTimeout()
e clearTimeout()
che aiutano nelle implementazioni relative all’intervallo di tempo. Il cronometro ha un display e tre pulsanti. Il display mostra l’ora ei tre pulsanti per avviare, fermare e azzerare il cronometro. Questo tutorial insegna come costruire un cronometro in JavaScript.
Cronometro JavaScript
Codice HTML
<h1><time>00:00:00</time></h1>
<button id="strt">start</button>
<button id="stp">stop</button>
<button id="rst">reset</button>
Nel codice sopra, utilizziamo HTML per visualizzare l’ora del cronometro e creare i tre pulsanti richiesti start
, stop
e reset
.
Codice JavaScript
var h1 = document.getElementsByTagName('h1')[0];
var start = document.getElementById('strt');
var stop = document.getElementById('stp');
var reset = document.getElementById('rst');
var sec = 0;
var min = 0;
var hrs = 0;
var t;
function tick() {
sec++;
if (sec >= 60) {
sec = 0;
min++;
if (min >= 60) {
min = 0;
hrs++;
}
}
}
function add() {
tick();
h1.textContent = (hrs > 9 ? hrs : '0' + hrs) + ':' +
(min > 9 ? min : '0' + min) + ':' + (sec > 9 ? sec : '0' + sec);
timer();
}
function timer() {
t = setTimeout(add, 1000);
}
timer();
start.onclick = timer;
stop.onclick = function() {
clearTimeout(t);
} reset.onclick = function() {
h1.textContent = '00:00:00';
seconds = 0;
minutes = 0;
hours = 0;
}
-
Per prima cosa selezioniamo tutti gli elementi HTML utilizzando i selettori in modo da poterli manipolare utilizzando JavaScript e inizializzare le variabili
3
hrs
,min
esec
per memorizzare l’ora corrente. Dichiariamo anche una variabilet
per memorizzaresetTimeout()
e la cancelliamo chiamandoclearTimeout()
. -
Abbiamo collegato la funzione timer al pulsante
start
. Ogni volta che si fa clic sul pulsantestart
, viene chiamata la funzionetimer()
, che a sua volta chiama la funzione di aggiunta a un intervallo di1
secondo. La funzioneadd()
chiama la funzionetick()
per incrementare i secondi di1
e regolare i minuti e le ore di conseguenza. Azzera il contenuto del display per visualizzare la nuova ora e poi si richiama richiamando nuovamente la funzionetimer()
. -
Abbiamo collegato
clearTimeout()
al pulsantestop
per interrompere la chiamata periodica della funzione di aggiunta. -
Abbiamo allegato una funzione che reimposta l’ora come
00:00:00
e reimposta il pulsantesec
,min
, ehrs
su0
sureset
.
Harshit Jindal has done his Bachelors in Computer Science Engineering(2021) from DTU. He has always been a problem solver and now turned that into his profession. Currently working at M365 Cloud Security team(Torus) on Cloud Security Services and Datacenter Buildout Automation.
LinkedIn