多次清除相同的间隔

时间:2018-03-14 14:02:50

标签: javascript jquery ajax

我的clearInterval方法有问题。让我解释一下。

我有三个javascript标签, LOW | MEDIUM | HIGH

当我进入索引页面时,LOW选项卡默认打开。并且 AjaxLow 的间隔开始。像这样:

function ajaxCall() {
    $.ajax({
        url: "ajax.php", 
        success: (function (result) {
             var res = $.parseJSON(result);
             var str1 = "<center><img src='https://steamcommunity-a.akamaihd.net/economy/image/";
            var str3 = " ' height='60' width='70'/></br>";
            var mes = [];
            var div = [];
            var totalLowPot = 0;
            for (kil = 0; kil < res[0].length; kil++) {
            mes[kil] = str1.concat(res[0][kil], str3)+res[1][kil]+"$</center>";
             $("#div"+kil).html(mes[kil]);  
             totalLowPot = totalLowPot + parseFloat(res[1][kil]);
             document.getElementById("totalLowPot").innerHTML = totalLowPot.toFixed(2);
            } 
            myChance(totalLowPot.toFixed(2));
            getLowPlayers();
        })
    })
};
var ajaxLow = setInterval(ajaxCall, (1 * 250)); // x * 1000 to get it in seconds

但是当我点击另一个标签时,例如MEDIUM。 ajaxLow 间隔应该停止。它确实是因为我正在调用这个函数。

function clearLow() {
    clearInterval(ajaxLow);
}

这里

<button class=tablink onclick="openCity('low',this,'#f1f1f1');" id=defaultOpen>LOW</button>
<button class=tablink onclick="openCity('medium',this,'#f1f1f1'); clearLow();">MEDIUM</button>
<button class=tablink onclick="openCity('high',this,'#f1f1f1')">HIGH</button>

但是当我点击 LOW 标签时,间隔没有重新开始。因此,当您按下LOW选项卡时,我再次尝试调用 ajaxLow;

这是我尝试再次调用ajaxLow的方式:

<button class=tablink onclick="openCity('low',this,'#f1f1f1'); ajaxLow;" id=defaultOpen>LOW</button>

这是出现真正问题的地方,它拒绝再次清除ajaxLow函数,它只是继续运行。你有什么建议吗?

0 个答案:

没有答案