我的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函数,它只是继续运行。你有什么建议吗?