Я нашел JSFiddle
с таймером, который считает каждую секунду. За исключением того, что я хочу, чтобы это работало только с минутами и секундами. Нет часов.
Любые идеи?
Я нашел JSFiddle
с таймером, который считает каждую секунду. За исключением того, что я хочу, чтобы это работало только с минутами и секундами. Нет часов.
Любые идеи?
DATE_OBJ.getSeconds()
, чтобы получить секунды объекта Date
.DATE_OBJ. getMinutes()
чтобы получить минуты Date
объекта.setInterval
для вызова функции обработчика через каждую секунду (1000ms
).var handler = function() {
var date = new Date();
var sec = date.getSeconds();
var min = date.getMinutes();
document.getElementById("time").textContent = (min < 10 ? "0" + min : min) + ":" + (sec < 10 ? "0" + sec : sec);
};
setInterval(handler, 1000);
handler();
<h1 id="time" style="text-align: center"></h1>
Вот очень хакерский подход - 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);
});
Точный способ справиться с этим следующий:
Образец кода:
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);
Вы можете легко изменить степень детализации проверки времени (в настоящее время установлено значение 0,1 секунды). Преимущество этого таймера в том, что он никогда не будет рассинхронизирован при обновлении.
var minutes = leftPad(Math.floor(totalSeconds/60),2); var seconds = leftPad(totalSeconds - minutes * 60,2);
где: function leftPad (aNumber, aLength) { if (aNumber.toString().length >= aLength return aNumber; return (Math.pow(10, aLength) + Math.floor(aNumber)).toString().substring(1); }
- person JoeGalind; 15.03.2015
Вы можете сделать функцию, которая увеличивает счетчик каждый раз, когда он вызывается, показывает значение как: счетчик/60 минут, счетчик%60 секунд
Затем вы можете использовать функцию setInterval
, чтобы JavaScript вызывал ваш код каждую секунду. Это не очень точно, но достаточно для простых таймеров.
Это может быть что-то? таймер простого подсчета в javascript
Он основан на методе setInterval.
setInterval(setTime, 1000);