【发布时间】:2014-09-22 19:29:45
【问题描述】:
如何更新 setTimeout 当前时间?
例如,如果我有
setTimeout(function(){
$( idleTimeout ).dialog("open");
}, 20000);
然后5秒后我想告诉计时器只剩下10秒而不是15秒。在这种情况下基本上跳过5秒。
谢谢
【问题讨论】:
标签: jquery timeout settimeout
如何更新 setTimeout 当前时间?
例如,如果我有
setTimeout(function(){
$( idleTimeout ).dialog("open");
}, 20000);
然后5秒后我想告诉计时器只剩下10秒而不是15秒。在这种情况下基本上跳过5秒。
谢谢
【问题讨论】:
标签: jquery timeout settimeout
您可以通过清除原始超时然后创建一个新超时来更新 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);
【讨论】:
// 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);
【讨论】: