首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >mobile-safari javascript:多个setTimeouts或setIntervals

mobile-safari javascript:多个setTimeouts或setIntervals
EN

Stack Overflow用户
提问于 2011-04-07 17:21:42
回答 1查看 853关注 0票数 0

我用setTimeout在iOs和mobile-safari上做了一些javascript动画。

但似乎当我同时定义了两个超时时,较短的超时直到较长的超时才会被执行。

代码语言:javascript
复制
setTimeout(a, 1000);
setTimeout(b, 300);

//it seems that both a and b will be called after 1000ms.

同样的情况似乎也发生在setInterval上

这是一个已知的问题吗?如果是,是否有解决方法?

谢谢!

EN

回答 1

Stack Overflow用户

发布于 2011-04-07 17:36:35

事情不应该是这样的.我怀疑你在别的地方可能是个问题。

在一些不同的浏览器中尝试此测试:http://jsfiddle.net/V6Ktd/

HTML:

代码语言:javascript
复制
<a href="#" onclick="timetest()">Test</a>
<div>First fired at <span id="resultA"></span></div>
<div>First fired at <span id="resultB"></span></div>

JS:

代码语言:javascript
复制
function timetest() {
    setTimeout(function() {
        document.getElementById("resultA").innerText = "a:" + new Date().getTime();
     }, 1000);
     setTimeout(function() {
        document.getElementById("resultB").innerText = "b:" + new Date().getTime();
     }, 30);
}

在Chrome中,单击测试后,我看到:

代码语言:javascript
复制
First fired at a:1302168904051
First fired at b:1302168903081

我在Mobile Safari中看到了类似的结果。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5578811

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档