使用setTimeout()它可以在指定的时间启动一个功能:
setTimeout(function, 60000);
Run Code Online (Sandbox Code Playgroud)
但是,如果我想多次启动该功能怎么办?每次时间间隔过去,我都想执行该功能(每60秒,让我们说).
我有这个简单的代码:
var Modules = (function() {
'use strict';
return {
TIMER: function (){
var timer = null;
return {
time: 100,
init: function() {
this.counter();
this.timer = window.setInterval(this.counter, 1000);
},
counter: function() {
this.time -= 1;
if (this.time <= 0) {
window.clearInterval(this.timer);
alert('Time expired');
}
console.log(this.time);
this.viewer();
},
viewer: function() {
document.getElementById('timer').innerHTML = this.time;
}
}
}
};
}());
Modules.TIMER().init();Run Code Online (Sandbox Code Playgroud)
<div id="timer"></div>Run Code Online (Sandbox Code Playgroud)
出问题了,因为我遇到了2个错误:
this.viewer不是函数
和
此时间的NaN
在间隔内运行我的设计模式有什么问题?
将TIMER扩展为复位方法后:
reset: function() {
this.time = 100;
}
Run Code Online (Sandbox Code Playgroud)
并在外部将其称为:
Modules.TIMER().reset();?
我有
这个时间没有定义 …
我试图每30秒运行一个函数,但是setInterval等待30秒,然后重复运行它。因此,如果还有其他方法可以解决此问题。(没有第三方插件)
任何帮助,将不胜感激