var setTimer;
var isTimeSet = false;
if (!isTimeSet) {
setTimer = $('#hdn_timerTime').val();
isTimeSet = true;
}
initialTimer();
function initialTimer() {
var CustomMinutes = 60 * parseInt(setTimer),
display = $('#time');
startTimer(CustomMinutes, display);
}
function startTimer(duration, display) {
var timer = duration, minutes, seconds;
setInterval(function () {
minutes = parseInt(timer / 60, 10)
seconds = parseInt(timer % 60, 10);
minutes = minutes < 10 ? "0" + minutes : minutes;
seconds = seconds < 10 ? "0" + seconds : seconds;
display.text(minutes + ":" + seconds);
if (--timer < 0) {
timer = duration;
$('#outputmeters').val(JSON.stringify(listItem));
// _hardMeter.UpdateMeterData();
_hardMeter.TempUpdateMeterDataConfirmation();
}
}, 1000);
}
这个代码我正在使用,但它第一次工作得很好,之后它开始减少并且很快就会起火。我不知道它是怎么发生的。 请帮助我,如果你有更好的解决方案。请你分享一下吗?
答案 0 :(得分:0)
您可以使用setInterval
以设定的时间间隔重复调用相同的功能,直到页面被卸载或您拨打clearInterval
:
var timedFunction = function() {
... // Do something
}
setInterval(timedFunction, 60 * 1000);
如果你的定时函数接受每次更改的参数,请使用setTimeout
并在函数体中调用它
var timedFunctionWithArguments = function(iterations) {
console.debug(iterations); // Do something
setTimeout(timedFunctionWithArguments, 60 * 1000, iterations++);
}
timedFunctionWithArguments(0);