首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >setinterval似乎在加速

setinterval似乎在加速
EN

Stack Overflow用户
提问于 2013-04-05 19:54:04
回答 2查看 813关注 0票数 1

我在一个函数中有一个setinterval,在第一次点击时似乎一切正常,但随后的每一次点击都会加速这个计时器。我不明白为什么。

代码语言:javascript
运行
复制
function startGame() {
    var myVar=setInterval(function(){myTimer()},100);
}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-04-05 19:57:06

第二次单击时,第一个间隔也有效,因为此事件在100ms内发生两次。试试这个:

代码语言:javascript
运行
复制
var myVar;
function startGame() {
    if(myVar)
        clearInterval(myVar);
    myVar=setInterval(function(){myTimer()},100);
}

或者:

代码语言:javascript
运行
复制
var myVar;
function startGame() {
    if(!myVar)
        myVar=setInterval(function(){myTimer()},100);
}
票数 2
EN

Stack Overflow用户

发布于 2013-04-05 19:59:15

Setinterval将函数设置为每X毫秒运行一次,在你的例子中,我猜你点击一次,它就会每100毫秒运行一次,然后你再点击一次,它就会每100毫秒运行一次(所以现在,平均每50毫秒你就会运行一次)。

我会推荐setTimeout,但我也不认为这是你需要的。我认为您正在尝试使用setinterval作为游戏循环,对吗?在这种情况下,您需要一种只运行一次的方法。

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

https://stackoverflow.com/questions/15833296

复制
相关文章

相似问题

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