如何创建javascript延迟函数

时间:2013-06-01 14:47:59

标签: javascript function delay sleep wait

我有一个javascript文件,在几个地方我想添加一个小延迟,所以脚本将达到这一点,等待3秒,然后继续其余的代码。我想到这样做的最好方法是创建一个函数,我可以在脚本的任何地方调用它。

function startDelay(lengthOfDelay)
{
//code to make it delay for lengthOfDelay amount of time
}

但是,我找不到任何方法来实现代码以使其等待。我看了一下setTimeout,但是你需要将函数硬编码到它中,这对我来说没什么好处。

有什么方法可以让脚本暂停几秒钟?在代码暂停时,我对UI冻结没有任何问题。

如果没有,有没有办法可以使用PHP sleep()来实现这一目标? (我知道PHP是服务器端,Javascript是客户端,但也许有一种我没有听说过的方式。)

4 个答案:

答案 0 :(得分:42)

您不需要使用setTimeout的匿名函数。你可以这样做:

setTimeout(doSomething, 3000);

function doSomething() {
   //do whatever you want here
}

答案 1 :(得分:3)

我刚在另一个论坛上找到了这个答案: JavaScript sleep/wait before continuing

感谢您的所有答案。

答案 2 :(得分:2)

啊,是的。欢迎来到异步执行。

基本上,暂停脚本会导致浏览器和页面无响应3秒钟。这对于网络应用来说太可怕了,因此不受支持。

相反,你必须考虑“基于事件”。使用setTimeout在一段时间后调用函数,这将在此期间继续在页面上运行JavaScript。

答案 3 :(得分:0)

您可以使用以下示例

创建延迟
setInterval(function(){alert("Hello")},3000);

3000 替换为毫秒

您可以将要执行的内容放在函数中。