Cronómetro JavaScript
Se utiliza un cronómetro para medir la cantidad de tiempo entre su activación y desactivación. Ayuda a medir el tiempo necesario para una actividad específica. Construiremos nuestro cronómetro usando los métodos de tiempo de JavaScript setTimeout() y clearTimeout() que ayudan en las implementaciones relacionadas con el intervalo de tiempo. El cronómetro tiene una pantalla y tres botones. La pantalla muestra la hora y los tres botones para iniciar, detener y reiniciar el cronómetro. Este tutorial enseña cómo construir un cronómetro en JavaScript.
Cronómetro JavaScript
código HTML
<h1><time>00:00:00</time></h1>
<button id="strt">start</button>
<button id="stp">stop</button>
<button id="rst">reset</button>
En el código anterior, utilizamos HTML para mostrar la hora del cronómetro y crear los tres botones necesarios start, stop y reset.
Código 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;
}

-
Primero seleccionamos todos los elementos HTML usando selectores para poder manipularlos usando JavaScript e inicializar
3variableshrs,minysecpara almacenar la hora actual. También declaramos una variabletpara almacenarsetTimeout()y la borramos llamando aclearTimeout(). -
Hemos adjuntado la función de temporizador al botón
start. Siempre que hacemos clic en el botónstart, se llama a la funcióntimer(), que a su vez llama a la función añadir en un intervalo de1segundo. La funciónadd()llama a la funcióntick()para incrementar los segundos en1y ajustar los minutos y las horas en consecuencia. Restablece el contenido de la pantalla para mostrar la nueva hora y luego se recupera llamando nuevamente a la funcióntimer(). -
Hemos adjuntado el
clearTimeout()al botónstoppara dejar de llamar a la función de adición periódicamente. -
Hemos adjuntado una función que restablece la hora como
00:00:00y restablece el botónsec,minyhrsa0pararesetel botón.
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