【问题标题】:Javascript: how to set intervals with a variable or run code once?Javascript:如何使用变量设置间隔或运行代码一次?
【发布时间】: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


【解决方案1】:

使用setTimeout

var runPerm = false;
function start() {
    setInterval(setPerm, 2000);
    setTimeout(updatePosition, 2000);
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-08-20
    • 1970-01-01
    • 2010-09-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多