Llame a la función js usando el temporizador JQuery

137

¿Hay alguna forma de implementar un temporizador para JQuery, por ejemplo? cada 10 segundos necesita llamar a una función js.

Probé lo siguiente

window.setTimeout(function() {
 alert('test');
}, 10000);

pero esto solo se ejecuta una vez y nunca más.

Elitmiar
fuente

Respuestas:

216

Puedes usar esto:

window.setInterval(yourfunction, 10000);

function yourfunction() { alert('test'); }
Kristof Claes
fuente
50
window.setInterval(function() {
 alert('test');
}, 10000);

window.setInterval

Llama a una función repetidamente, con un retraso de tiempo fijo entre cada llamada a esa función.

rahul
fuente
45

Es posible que desee consultar jQuery Timer para administrar uno o varios temporizadores.

http://code.google.com/p/jquery-timer/

var timer = $.timer(yourfunction, 10000);

function yourfunction() { alert('test'); }

Entonces puedes controlarlo con:

timer.play();
timer.pause();
timer.toggle();
timer.once();
etc...
jchavannes
fuente
Buena utilidad. Permite controlar el ciclo de vida.
Jigar Shah
muy útil para cuando un temporizador necesita controlar otro temporizador
Onimusha
1
obtengo un error :( "TypeError: $ .timer no es una función"
sjd
2
eso se debe a que necesita obtener el complemento del enlace.
Giszmo 01 de
25

setInterval es la función que desea. Eso se repite cada x milisegundos.

window.setInterval(function() {
    alert('test');
}, 10000);
Ikke
fuente
11

jQuery 1.4 también incluye un método .delay (duración, [queueName]) si solo necesita que se active una vez y ya haya comenzado a usar esa versión.

$('#foo').slideUp(300).delay(800).fadeIn(400);

http://api.jquery.com/delay/

Ooops ... mi error estabas buscando un evento para continuar disparando. Dejaré esto aquí, alguien puede encontrarlo útil.

Craig
fuente
2

Puede usar el método setInterval () también puede llamar a su setTimeout () desde su función personalizada, por ejemplo

function everyTenSec(){
  console.log("done");
  setTimeout(everyTenSec,10000);
}
everyTenSec();
Aren Hovsepyan
fuente
-2
function run() {
    window.setTimeout(
         "run()",
         1000
    );
}
harpax
fuente
66
-1, porque proporcionar una cadena para evaluar en lugar de simplemente proporcionar la función es la raíz de demasiados errores.
vog