我有一个任务是在预定义的时间之后调出一个bootstrap模态窗口,我使用setTimeout()。然后另一个任务是在模态窗口的主体中显示倒计时 - 但是从setTimeout()函数调用setInterval()不会做任何事情。
func = function(warntime) {
func.tid = setInterval(function() {
$("#dialog-countdown").html(warntime--);
if(warntime == 0) {
doSignout();
}
}, 1000);
};
var tmwarn = setTimeout(function(){
$("#timeout-modal").modal("show");
func(60);
}, 20000);
因此func()调用不会启动计时器,至少不会启动Chrome或Safari或IE。
怎么了?任何解决方法?
答案 0 :(得分:0)
如果我理解正确,你需要这样的东西:
func = function(warntime) {
func.tid = setInterval(function() {
warntime--;
console.log('warntime: ', warntime);
if(warntime == 0) {
doSignout(func.tid);
}
}, 2000);
};
doSignout = function(id) {
console.log('signing out');
clearInterval(id)
}
setTimeout(function(){
func((sessionTimeout - sessionTimeoutWarning)/1000);
}, sessionTimeoutWarning);