我创建了一个函数,可以使用 AJAX 控制数据库中的某一行的某个数字。 我使用 click 函数调用该函数,并将该函数放入 setInterval 函数中,以每秒检查 10 次。
一开始它会返回 0,但在某个时刻(通常在 5 秒内)它会返回一些大于 0 的值,此时我想清除Interval。
但我不知道该怎么做?
这是我的功能:
function get_buzzer() {
$.ajax({
url: 'ajax_buzzer.php',
dataType: 'json',
async: false,
type: 'post',
data: {
job: 'get'
},
success:function(s) {
if(s['number'] == 0) {
var player = false;
} else {
var player = true;
}
}, error:function(e) {
}
});
}
$(document).ready(function() {
$('#test').click(function() {
var buzzer = setInterval("get_buzzer()",100);
});
});
最佳答案
你可以做类似的事情
$(document).ready(function () {
//make buzzer a share variable
var buzzer;
$('#test').click(function () {
buzzer = setInterval(get_buzzer, 100);
});
function get_buzzer() {
$.ajax({
url: 'ajax_buzzer.php',
dataType: 'json',
async: false,
type: 'post',
data: {
job: 'get'
},
success: function (s) {
if (s['number'] != 0) {
//if number is not 0 then clear the interval
clearInterval(buzzer)
}
},
error: function (e) {}
});
}
});
关于javascript - 当变量为 "x"时查询clearInterval,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26627304/