Gọi hàm js bằng bộ định thời JQuery


137

Có cách nào để thực hiện một bộ đếm thời gian cho JQuery không, vd. cứ sau 10 giây cần gọi hàm js.

Tôi đã thử như sau

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

nhưng điều này chỉ thực hiện một lần và sau đó không bao giờ nữa.

Câu trả lời:


216

Bạn có thể sử dụng điều này:

window.setInterval(yourfunction, 10000);

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

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

window.setInterval

Gọi một chức năng nhiều lần, với độ trễ thời gian cố định giữa mỗi cuộc gọi đến chức năng đó.


45

Có thể muốn kiểm tra jQuery Timer để quản lý một hoặc nhiều bộ định thời.

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

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

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

Sau đó, bạn có thể kiểm soát nó với:

timer.play();
timer.pause();
timer.toggle();
timer.once();
etc...

tiện ích tốt đẹp. Cho phép kiểm soát vòng đời.
Jigar Shah

rất hữu ích khi một bộ hẹn giờ cần điều khiển bộ hẹn giờ khác
Onimusha

1
tôi đang gặp lỗi :( "TypeError: $ .timer không phải là một chức năng"
sjd

2
đó là bởi vì bạn cần lấy plugin từ liên kết.
Giszmo

25

setInterval là hàm bạn muốn. Điều đó lặp lại sau mỗi x giây.

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

11

jQuery 1.4 cũng bao gồm một phương thức .delay (thời gian, [queueName]) nếu bạn chỉ cần nó để kích hoạt một lần và đã bắt đầu sử dụng phiên bản đó.

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

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

Ooops .... lỗi của tôi bạn đang tìm kiếm một sự kiện để tiếp tục kích hoạt. Tôi sẽ để nó ở đây, ai đó có thể thấy nó hữu ích.



2

Bạn có thể sử dụng phương thức setInterval (), bạn cũng có thể gọi setTimeout () từ hàm tùy chỉnh của mình chẳng hạn

function everyTenSec(){
  console.log("done");
  setTimeout(everyTenSec,10000);
}
everyTenSec();

-2
function run() {
    window.setTimeout(
         "run()",
         1000
    );
}

6
-1, vì việc cung cấp một chuỗi cho eval thay vì chỉ cung cấp hàm là gốc của quá nhiều lỗi.
vog
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.