我在使用settimeout超时后使用反跳执行事件。我的问题是,其他JavaScript事件期望这些事件同步发生。由于它们现在在超时后执行,因此我希望能够通过其他javascript事件来过早触发它们(因此那些需要它们的事件不会失败)。

Anywhom,如果我做类似的事情:

timeout = setTimeout(function() { alert('hi'); }, 10000);

,而我希望这种情况在10秒过去之前发生,该怎么办?

该解决方案可以在必要时涉及jquery。谢谢!

编辑:
是否可以仅通过访问超时对象来做​​到这一点?

最佳答案

因此,如果执行任何操作都会延迟其自身的功能:

function sayHi() {
    alert('hi');
}

您可以使用超时和常规函数调用:
var timeout = setTimeout(sayHi, 10000); // say hi after 10 seconds

或者要在超时到期之前调用它,只要需要,就可以调用该函数:
sayHi();

我在正确的轨道上吗?如果需要取消超时,请在clearTimeout()变量上调用timeout
if (timeout)
    clearTimeout(timeout);

关于javascript - 尽早执行settimeout,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9425512/

10-16 00:08