我有一个javascript文件,在几个地方我想添加一个小延迟,所以脚本将达到这一点,等待3秒,然后继续其余的代码。我想到这样做的最好方法是创建一个函数,我可以在脚本的任何地方调用它。
function startDelay(lengthOfDelay)
{
//code to make it delay for lengthOfDelay amount of time
}
但是,我找不到任何方法来实现代码以使其等待。我看了一下setTimeout,但是你需要将函数硬编码到它中,这对我来说没什么好处。
有什么方法可以让脚本暂停几秒钟?在代码暂停时,我对UI冻结没有任何问题。
如果没有,有没有办法可以使用PHP sleep()来实现这一目标? (我知道PHP是服务器端,Javascript是客户端,但也许有一种我没有听说过的方式。)
答案 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 替换为毫秒
您可以将要执行的内容放在函数中。