Panggil fungsi js menggunakan timer JQuery

137

Apakah ada pula untuk mengimplementasikan timer untuk JQuery, mis. setiap 10 detik perlu memanggil fungsi js.

Saya mencoba yang berikut ini

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

tetapi ini hanya dijalankan sekali dan kemudian tidak pernah lagi.

Elitmiar
sumber

Jawaban:

216

Anda bisa menggunakan ini:

window.setInterval(yourfunction, 10000);

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

window.setInterval

Memanggil fungsi berulang kali, dengan penundaan waktu tetap antara setiap panggilan ke fungsi itu.

rahul
sumber
45

Mungkin ingin memeriksa Timer jQuery untuk mengelola satu atau beberapa timer.

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

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

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

Maka Anda dapat mengendalikannya dengan:

timer.play();
timer.pause();
timer.toggle();
timer.once();
etc...
jchavannes
sumber
utilitas yang bagus. Memungkinkan mengontrol siklus hidup.
Jigar Shah
sangat berguna ketika satu timer perlu mengontrol timer lainnya
Onimusha
1
im mendapatkan kesalahan :( "TypeError: $ .timer bukan fungsi"
sjd
2
itu karena Anda perlu mendapatkan plugin dari tautan.
Giszmo
25

setInterval adalah fungsi yang Anda inginkan. Itu berulang setiap x milidetik.

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

jQuery 1.4 juga menyertakan metode .delay (durasi, [queueName]) jika Anda hanya perlu memicu sekali dan sudah mulai menggunakan versi itu.

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

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

Ooops .... kesalahan saya, Anda sedang mencari acara untuk terus memicu. Saya akan meninggalkan ini di sini, seseorang mungkin merasa terbantu.

Craig
sumber
2

Anda dapat menggunakan metode setInterval () juga Anda dapat memanggil setTimeout () Anda dari fungsi kustom Anda misalnya

function everyTenSec(){
  console.log("done");
  setTimeout(everyTenSec,10000);
}
everyTenSec();
Aren Hovsepyan
sumber
-2
function run() {
    window.setTimeout(
         "run()",
         1000
    );
}
kecapi
sumber
6
-1, karena menyediakan string untuk eval alih-alih hanya menyediakan fungsi adalah akar dari terlalu banyak bug.
vog