JS< (小于)操作员失败

时间:2017-02-25 21:43:11

标签: javascript ajax integer setinterval

我有一个脚本,为用户每10秒(但技术上是11)AJAX一个请求。我有一个简单的倒计时,从10到0,然后一次又一次。

在每次重启AJAX请求后调用此countit函数

这是我的代码:

function countit() {
  var count = 10;
  loading = setInterval(function() {
    $(box).val("Will automatically check in " + count + "second(s), please DO NOT refresh the page yourself.");
    count--;
    if (count <= 0) {
      clearInterval(loading);
    }

  }, 1000);
}

代码工作正常,但是,如果您离开页面并返回,倒计时将进入负数并且不会停止。这是图像:

enter image description here

我无法确定这是代码或JS的问题,但当用户停留在页面上时,计数器不会低于0.

1 个答案:

答案 0 :(得分:1)

Ibrahim&amp;克里斯说过:

在没有它的情况下添加区间的var,变量是全局的。

function countit() {
    var count = 10;
    var loading = setInterval(function() {
        $(box).val("Will automatically check in " + count + "second(s), please DO NOT refresh the page yourself.");
        count--;
        if (count <= 0) {
            clearInterval(loading);
        }
    }, 1000);
}