我有以下一段代码可以正常工作但我想在满足某些条件时停止自动刷新。
GlobeController
答案 0 :(得分:0)
$(document).ready(function() {
var myVar;
function yourFunction() {
myVar = setTimeout( function(){
$.ajax({
url: '/jrt/?Id=$data.jacket.id',
method: "GET",
cache: false,
success: function(data) {
$( '#gt' ).html( data );
},
error: function(jqXHR, textStatus, errorThrown) {
alert('error ' + textStatus + " " + errorThrown);
}
})
},10000);
}
function stopYourFunction() {
clearTimeout(myVar);
} });
使用stop clearTimeout来停止setTimeOut函数。请参阅此w3schools,有一个很好的解释
答案 1 :(得分:0)
在变量中指定setTimeout函数并在任何条件下清除它。
var timer;
$(document).ready(function() {
timer = window.setTimeout(function() {
$.ajax({
url: '/jrt/?Id=$data.jacket.id',
method: "GET",
cache: false,
success: function(data) {
//$("#gt").append(data);
$('#gt').html(data);
if (1) // your any condition
{
window.clearTimeout(timer);
}
},
error: function(jqXHR, textStatus, errorThrown) {
alert('error ' + textStatus + " " + errorThrown);
}
})
}, 10000);
});