Ich möchte verhindern, dass dieses Intervall im error
Handler wiederholt ausgeführt wird. Ist das möglich und wenn ja, wie?
// example code
$(document).on('ready',function(){
setInterval(updateDiv,3000);
});
function updateDiv(){
$.ajax({
url: 'getContent.php',
success: function(data){
$('.square').html(data);
},
error: function(){
$.playSound('oneday.wav');
$('.square').html('<span style="color:red">Connection problems</span>');
// I want to stop it here
}
});
}
javascript
jquery
html
setinterval
Henrik Petterson
quelle
quelle
Antworten:
Sie müssen den Rückgabewert
setInterval
einer Variablen im Bereich des Klick-Handlers festlegen und dannclearInterval()
wie folgt verwenden:quelle
setTimout()
was nur einmal ausgeführt wirdVerwenden Sie eine Variable und rufen Sie
clearInterval
auf, um sie zu stoppen.quelle
Sie müssen den zurückgegebenen Wert der
setInterval
Funktion einer Variablen zuweisenund dann verwenden
clearInterval(interval)
, um es wieder zu löschen.quelle
NUTZEN Sie dies, ich hoffe, Ihnen zu helfen
quelle
Wir können das eingestellte Intervall leicht stoppen, indem wir das Clear-Intervall aufrufen
quelle
setInterval
indefinetely Leck konnte - keine var verbunden sind , es zu kontrollieren. 2. Sie sind nicht klarthis
, dathis
es sich nicht um ein Zeitintervall handelt. Wenn Sie verwendenTypeScript
, würden Sie in Schwierigkeiten geraten:No overload matches this call.Overload 1 of 2, '(intervalId: Timeout): void', gave the following error: Argument of type 'this' is not assignable to parameter of type 'Timeout'.
quelle