Settimeout用法:重置 setTimeout

我有以下几点:

window.setTimeout(function() {
    window.location.href = 'file.php';
}, 115000);

如何通过.click 函数在倒计时中途重置计数器?

312

您可以存储对该超时的引用,然后在该引用上调用clearTimeout

// in the example above, assign the result
var timeoutHandle = window.setTimeout(...);
// in your click function, call clearTimeout
window.clearTimeout(timeoutHandle);
// then call setTimeout again to reset the timer
timeoutHandle = window.setTimeout(...);
35

clearTimeout () 并馈送 setTimeout 的引用,这将是一个数字。然后重新调用它:

var initial;
function invocation() {
    alert('invoked')
    initial = window.setTimeout( 
    function() {
        document.body.style.backgroundColor = 'black'
    }, 5000);
}
invocation();
document.body.onclick = function() {
    alert('stopped')
    clearTimeout( initial )
    // re-invoke invocation()
}

在此示例中,如果您在 5 秒内未单击 body 元素,则背景颜色将为黑色。

参考:

https://developer.mozilla.org/en/DOM/window.clearTimeout https://developer.mozilla.org/En/Window.setTimeout

注意:setTimeout 和 clearTimeout 不是 ECMAScript 本机方法,而是全局窗口命名空间的 Javascript 方法。

13

你必须记住超时“定时器”,取消它,然后重新启动它:

g_timer = null;
$(document).ready(function() {
    startTimer();
});
function startTimer() {
    g_timer = window.setTimeout(function() {
        window.location.href = 'file.php';
    }, 115000);
}
function onClick() {
    clearTimeout(g_timer);
    startTimer();
}
10
var myTimer = setTimeout(..., 115000);
something.click(function () {
    clearTimeout(myTimer);
    myTimer = setTimeout(..., 115000);
}); 

沿着这些线的东西!

本站系公益性非盈利分享网址,本文来自用户投稿,不代表边看边学立场,如若转载,请注明出处

(527)
教学流程图:html流程图 /工作流程图(workflow diagrams)
上一篇
Xmind程序流程图:html流程图 /工作流程图(workflow diagrams)
下一篇

相关推荐

发表评论

登录 后才能评论

评论列表(51条)