tiempo segundos regresiva minutos loop horas funcion ejecutar despues descendente cuenta cronometro contador cierto cada javascript timer jsfiddle stopwatch

segundos - javascript timer loop



Temporizador Javascript solo por minutos y segundos (6)

Aquí hay un enfoque muy hackish - http://jsfiddle.net/gPrwW/1/

HTML -

<div id="worked">31:14</div>

JS:

$(document).ready(function (e) { var $worked = $("#worked"); function update() { var myTime = $worked.html(); var ss = myTime.split(":"); var dt = new Date(); dt.setHours(0); dt.setMinutes(ss[0]); dt.setSeconds(ss[1]); var dt2 = new Date(dt.valueOf() + 1000); var temp = dt2.toTimeString().split(" "); var ts = temp[0].split(":"); $worked.html(ts[1]+":"+ts[2]); setTimeout(update, 1000); } setTimeout(update, 1000); });

Encontré un JSFiddle con un temporizador que cuenta cada segundo. Excepto que quiero que esto funcione solo con los minutos y segundos. No hay horas

¿Algunas ideas?

Saludos,

Micro


La forma precisa de manejar esto es la siguiente:

  1. almacenar la hora del inicio de la secuencia de comandos
  2. en una función que se llama repetidamente obtener el tiempo transcurrido
  3. convierta el tiempo transcurrido en el formato que desee y muéstrese

Código de muestra:

var initialTime = Date.now(); function checkTime(){ var timeDifference = Date.now() - initialTime; var formatted = convertTime(timeDifference); document.getElementById(''time'').innerHTML = '''' + formatted; } function convertTime(miliseconds) { var totalSeconds = Math.floor(miliseconds/1000); var minutes = Math.floor(totalSeconds/60); var seconds = totalSeconds - minutes * 60; return minutes + '':'' + seconds; } window.setInterval(checkTime, 100);

Puede cambiar fácilmente la granularidad de verificar el tiempo (actualmente establecido en 0.1 segundos). Este temporizador tiene la ventaja de que nunca se desincronizará cuando se actualice.


Puede hacer una función que incremente un contador cada vez que se llame, muestra el valor como: contador / 60 minutos, contador% 60 segundos

Luego puede usar la función setInterval para hacer que JavaScript llame su código cada segundo. No es extremadamente preciso, pero es lo suficientemente bueno para temporizadores simples.


var initialTime = Date.now(); function checkTime(){ var timeDifference = Date.now() - initialTime; var formatted = convertTime(timeDifference); document.getElementById(''time'').innerHTML = '''' + formatted; } function convertTime(miliseconds) { var totalSeconds = Math.floor(miliseconds/1000); var minutes = Math.floor(totalSeconds/60); var seconds = totalSeconds - minutes * 60; return minutes + '':'' + seconds; } window.setInterval(checkTime, 100);



var date = new Date(); var sec = date.getSeconds(); var min = date.getMinutes(); var handler = function() { if (++sec === 60) { sec = 0; if (++min === 60) min = 0; } document.getElementById("time").innerHTML = (min < 10 ? "0" + min : min) + ":" + (sec < 10 ? "0" + sec : sec); }; setInterval(handler, 1000); handler();

<h1 id="time" style="text-align: center"></h1>