2011-11-25 15 views
9

¿Alguien sabe cómo matar el intervalo después de usar setInterval() en el siguiente caso de uso?JS - Cómo borrar el intervalo después de usar setInterval()

¡Gracias de antemano!

$(document).ready(function(){ 
    setInterval(function(){ 
    $.ajax({ url: "test.php", 
     success: function(result){ 
     $("#results").append(result); 
     } 
    }); 
    }, 1000); 
}); 

prueba.php

$CT = date('Y-m-d H:i:s', time()); 
echo $CT; 
+0

¿Qué lazo? ¿Te refieres al intervalo "loop"? –

Respuesta

22
var interval = setInterval(function() { 
    $.ajax({ 
     url: "test.php", 
     success: function(result) { 
      $("#results").append(result); 
     } 
    }); 
}, 1000); 

clearInterval(interval); 
+0

Gracias @mmmshuddup, pero no se muestra nada en la página después de usar el código. – Acubi

+0

Bueno, se supone que no debes 'clearInterval()' _right away_. ¿Cuántas veces necesitas eso para correr? –

+2

Tengo la sensación de que quieres usar 'setTimeout()' en su lugar. En ese caso, solo se ejecutaría una vez y luego no necesitaría borrar nada ... –

5

claro en uso El método de terval clearInterval(); pasa su variable en la cual setInterval.

Por ejemplo:

var refreshIntervalId = setInterval(fname, 10000); 

clearInterval(refreshIntervalId); 
0

Si está pensando sólo en ejecución de la función una vez, se recomienda usar Window SetTimeout() Method conforme se ejecuta una vez, haciendo despejar el intervalo después de una carrera redundante.

Cuestiones relacionadas