Je veux arrêter cet intervalle dans le error
gestionnaire de s'exécuter à plusieurs reprises. Est-ce possible, et si oui, comment?
// 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
la source
la source
Réponses:
Vous devez définir la valeur de retour de
setInterval
sur une variable dans la portée du gestionnaire de clics, puis utilisezclearInterval()
comme ceci:la source
setTimout()
qui ne s'exécute qu'une seule foisUtilisez une variable et appelez
clearInterval
pour l'arrêter.la source
Vous devez affecter la valeur retournée de la
setInterval
fonction à une variablepuis utilisez
clearInterval(interval)
pour l'effacer à nouveau.la source
UTILISEZ ceci j'espère vous aider
la source
nous pouvons facilement arrêter l'intervalle défini en appelant clear interval
la source
setInterval
pourrait fuir indéfiniment - aucune var associée, pour le contrôler. 2ème vous n'acceptez pasthis
, car cethis
n'est pas un intervalle de temps. Si vous utilisez,TypeScript
vous auriez des ennuis: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'.
la source