【发布时间】:2014-01-26 04:59:15
【问题描述】:
我知道 Javascript 没有 delay(500) 方法,它会延迟执行 500 毫秒,所以我一直试图通过使用 setTimeout 和 setInterval 来解决这个问题。
for(var i =0; i< 10; i++){
/* Animation Code */
var doNothing = function(){var m =5;}
setTimeout(doNothing, 50);
}
但是,这似乎不起作用。我本质上想要一些代码停止执行 n 毫秒,然后继续执行。
【问题讨论】:
-
“但是,这似乎不起作用”请扩展,它怎么不起作用
-
它有效...只是你的超时设置为 50 毫秒而不是 500 毫秒。
-
你在什么环境下运行这段代码?它是在浏览器中还是在其他地方?
setTimeout实际上是 DOM 的一部分,而不是 JavaScript 本身。一些 JavaScript 环境提供了自己的setTimeout实现,但并非全部都提供。 -
@UselessCode 我将文档保存为 html 文件(我使用 textWrangler 作为应用程序)并通过在 chrome 中打开文件来运行它。
-
跳出框框思考。您问题的关键点是停止执行,然后继续执行。它假定您希望在停止/继续之间保留状态(在您的情况下,它是动画的状态,尽管
i变量也是其中的一部分)。这是其他答案目前没有解决的问题。这是如何完成的:stackoverflow.com/a/21360405/1768303.
标签: javascript browser delay settimeout setinterval