2011-11-08 33 views
6

Tôi đã làm điều này một tháng trước ... Nhưng bây giờ không làm việc ... mã của nó làJavascript setTimeout chức năng trong trường hợp tải cửa sổ ... không làm việc

window.onload = function(){ 
setTimeout(function(){ 
    alert("Hello"); 
}, 10000); 
}; 

này được viết bằng tập lệnh trong phần đầu của trang test.php. Tập lệnh và các thẻ khác là chính xác.

Tôi muốn gọi một hàm cụ thể sau mỗi 10 giây. Cảnh báo chỉ hiển thị một lần duy nhất. Đây là vấn đề trong mọi trình duyệt .... Sau thử nghiệm này, tôi muốn kiểm tra url cứ 2 giây một lần và gọi hàm AJAX.

Bất kỳ trợ giúp nào ??

+0

Cảm ơn cho hàm setInterval ... Nó làm việc. –

Trả lời

9

Đó là những gì setTimeout thực hiện (thực hiện một lần sau một khoảng thời gian cụ thể). Bạn đang tìm kiếm setInterval (gọi một hàm liên tục, với một sự chậm trễ thời gian cố định giữa mỗi cuộc gọi đến chức năng đó):

window.onload = function(){ 
    setInterval(function(){ 
     alert("Hello"); 
    }, 10000); 
}; 
0

setTimeout là để dành cho một lần chạy. Nhìn vào hàm setInterval.

1
var fn = function(){alert("Hello")}; 

Có thể sử dụng setTimeout:

window.onload = function(){ setTimeout(function(){ fn();window.onload() },10000) }; 

nhưng giải pháp tốt nhất là setInterval:

window.onload = function() { setInterval(fn,10000)}; 
Các vấn đề liên quan