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:
- almacenar la hora del inicio de la secuencia de comandos
- en una función que se llama repetidamente obtener el tiempo transcurrido
- 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);
Esto podría ser algo? temporizador de cuenta simple en javascript
Se basa en el método setInterval
setInterval(setTime, 1000);
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>