Quero interromper a error
execução repetida desse intervalo no manipulador. Isso é possível e, em caso afirmativo, como?
// 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
fonte
fonte
Respostas:
Você precisa definir o valor de retorno de
setInterval
para uma variável dentro do escopo do manipulador de cliques e, em seguida, usarclearInterval()
desta forma:fonte
setTimout()
que é executado apenas uma vezUse uma variável e chame
clearInterval
para pará-la.fonte
Você deve atribuir o valor retornado da
setInterval
função a uma variávele use
clearInterval(interval)
para limpá-lo novamente.fonte
USE isso espero te ajudar
fonte
podemos facilmente interromper o intervalo definido chamando intervalo claro
fonte
setInterval
vazamento pode vazar indefinidamente - nenhuma var associada, para controlá-lo. 2º você não acertouthis
, poisthis
não é um intervalo de tempo. Se usasseTypeScript
teria problemas: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'.
fonte