【发布时间】:2016-10-01 06:30:51
【问题描述】:
我的 javascript 有问题,因为我想在函数中运行一次代码,直到间隔再次结束。因此,我已经阅读了有关使用布尔值来控制它但没有间隔的可能性,并且它仍然一遍又一遍地调用 updatePosition() 函数而不会停止。 简单地说,我在这个结构中有代码:
var runPerm = false;
function start() {
setInterval(setPerm, 2000);
setInterval(function() {
new updatePosition()
}, 2000);
}
function setPerm() {
runPerm = true;
}
function updatePosition() {
if (runPerm == true) {
//some code that I want to run once.
runPerm = false;
}
}
有人有解决问题的想法吗? (完整代码:http://pastebin.com/iSFHjct3)
【问题讨论】:
-
如果你只想运行一次代码,为什么要每 2000 毫秒更新一次
runPerm=true?你为什么在这里使用new关键字?您尝试告诉我们您要做什么而不是询问此特定代码如何。 -
@naomik 抱歉,为了更清楚地说明这一点:我只想每 2000 毫秒运行一次 updatePosition()。所以我的问题更像是:我怎样才能得到这个?实际上你可以忽略我在我的代码中输入的内容,使用'new'是不正确的,我不得不尝试一些东西所以这已经从测试中结束了。但更重要的是这条评论中的问题。
标签: javascript web-applications web setinterval