很抱歉,如果以前在这里已经问过这个问题,我找不到合适的答案。

我想创建一个JavaScript sleep/delay/wait函数,可以在脚本中的任何地方调用它,例如jQuery的.delay()
我无法使用setTimeout,因为我有一个由php生成的脚本,因此无法将其放入两个不同的函数中,其中超时位于中间。我需要创建一个允许我做的功能

alert("time started");
sleep(4000);
alert("time up");

真的不想使用jQuery。

最佳答案

不幸的是,您不能仅仅添加一个函数来暂停Javascript。

您必须使用setTimeout()
例子:

function startTimer () {
    timer.start();
    setTimeout(stopTimer,5000);
}

function stopTimer () {
    timer.stop();
}

编辑:

对于您的用户生成的倒数计时,它同样简单。

HTML:
<input type="number" id="delay" min="1" max="5">

JS:
var delayInSeconds = parseInt(delay.value);
var delayInMilliseconds = delayInSeconds*1000;

function startTimer () {
    timer.start();
    setTimeout(stopTimer,delayInMilliseconds);
}

function stopTimer () {
    timer.stop;
}

现在,您只需要为startTimer()添加触发器,例如onchange

09-07 16:21