Quiero evitar que este intervalo en el error
controlador se ejecute repetidamente. ¿Es eso posible y, de ser así, cómo?
// 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
fuente
fuente
Respuestas:
Debe establecer el valor de retorno de
setInterval
una variable dentro del alcance del controlador de clic, luego usarloclearInterval()
así:fuente
setTimout()
que solo se ejecuta una vezUsa una variable y llama
clearInterval
para detenerla.fuente
Tienes que asignar el valor devuelto de la
setInterval
función a una variabley luego utilícelo
clearInterval(interval)
para borrarlo nuevamente.fuente
UTILIZA esto espero que te ayude
fuente
podemos detener fácilmente el intervalo establecido llamando a clear interval
fuente
setInterval
podría filtrarse indefinidamente, sin var asociado, para controlarlo. Segundo, no está clarothis
, yathis
que no es un intervalo de tiempo. Si lo usasTypeScript
te meterías en líos: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'.
fuente