【问题标题】:Alert only once with simple condition仅在简单条件下发出一次警报
【发布时间】:2020-04-14 21:56:24
【问题描述】:

我使用 javascript 做了一个非常简单的警报:

if(progressLeft == 0){
    alert("You are finished!, create your next exercise!");
}

它应该在 progressLeft 达到 0 时提醒用户。这个值会在值中扣除,直到它达到 0。但当然如果它会停留在那里,因此让我卡住了警报。 这似乎很容易解决,但我对 javascript 编程很陌生。我能做些什么来克服这个问题?

【问题讨论】:

  • progressLeft改成0以外的值吗?
  • 添加更多代码..
  • 您好,感谢您的回复。我希望在 progressleft 达到 0 时显示警报。我不确定您的意思。
  • 如果您遇到警报,这意味着上面的代码在循环中。但不应该,它应该在每次 progressLeft 更改后运行。
  • alert之前添加progressLeft = -1

标签: javascript loops if-statement alert


【解决方案1】:

您可以引入另一个变量,称为 altertShown
像这样使用它:

var alertShown = false; /* ATTENTION: Declare this somewhere out of the function in global scope! */
if(progressLeft == 0){
    if(!alertShown) {
        alertShown = true;
        alert("You are finished!, create your next exercise!");
    }
} else {
    alertShown = false;
}

【讨论】:

    猜你喜欢
    • 2020-03-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-27
    • 2016-07-26
    • 1970-01-01
    • 2015-05-25
    • 1970-01-01
    相关资源
    最近更新 更多