如何更新setTimeout当前时间?
例如,如果我有
setTimeout(function(){
$( idleTimeout ).dialog("open");
}, 20000);
然后在5秒后我想告诉计时器剩下的时间只有10秒而不是15.在这种情况下基本上跳过了5秒。
由于
答案 0 :(得分:1)
您可以通过清除原始超时然后创建新超时来更新setTimeout功能。
// desired code to execute after timeout
var code = function() {
$( idleTimeout ).dialog("open");
};
// originally set to occur after 20 secods
var timeoutID = window.setTimeout(code, 20000);
// after 5 seconds update to run in another 10 seconds
window.setTimeout(function() {
window.clearTimeout(timeoutID);
window.setTimeout(code, 10000);
}, 5000);
答案 1 :(得分:0)
// with a bit of tweak it work. change setTimeout to setInterval
var timeoutID = window.setInterval(code, 10000);
window.setTimeout(function() {
window.clearInterval(timeoutID);
window.setInterval(code, 500);
}, 20000);