Cửa sổ setTimeout()
Ví dụ
Đợi 5 giây để chào:
const myTimeout = setTimeout(myGreeting, 5000);
Hãy tự mình thử »Sử dụng clearTimeout(myTimeout) để ngăn myGreeting chạy:
const myTimeout = setTimeout(myGreeting, 5000);
function myStopFunction() {
clearTimeout(myTimeout);
}
Hãy tự mình thử »Thêm ví dụ dưới đây.
Sự miêu tả
Phương thức setTimeout()
gọi một hàm sau một số mili giây.
1 giây = 1000 mili giây.
Ghi chú
setTimeout()
chỉ được thực thi một lần.
Nếu bạn cần thực hiện lặp lại, hãy sử dụng setInterval()
thay thế.
Sử dụng phương thức clearTimeout()
để ngăn chức năng khởi động.
Để xóa thời gian chờ, hãy sử dụng id được trả về từ setTimeout():
myTimeout = setTimeout( function , milliseconds );
Sau đó, bạn có thể dừng việc thực thi bằng cách gọi clearTimeout():
clearTimeout(myTimeout);
Xem thêm:
Cú pháp
setTimeout( function, milliseconds, param1, param2, ... )
Thông số
Parameter | Description |
function | Required. The function to execute. |
milliseconds | Optional. Number of milliseconds to wait before executing. Default value is 0. |
param1, param2, ... |
Optional. Parameters to pass to the function. Not supported in IE9 and earlier. |
Giá trị trả về
Kiểu | Sự miêu tả |
Một số | Id của bộ đếm thời gian. Sử dụng id này với clearTimeout(id) để hủy bộ hẹn giờ. |
Thêm ví dụ
Hiển thị hộp cảnh báo sau 3 giây (3000 mili giây):
let timeout;
function myFunction() {
timeout = setTimeout(alertFunc, 3000);
}
function alertFunc() {
alert("Hello!");
}
Hãy tự mình thử »Hiển thị văn bản theo thời gian:
let x = document.getElementById("txt");
setTimeout(function(){ x.value = "2 seconds" }, 2000);
setTimeout(function(){ x.value = "4 seconds" }, 4000);
setTimeout(function(){ x.value = "6 seconds" }, 6000);
Hãy tự mình thử »Mở một cửa sổ mới và đóng cửa sổ sau ba giây (3000 mili giây):
const myWindow = window.open("", "", "width=200, height=100");
setTimeout(function() {myWindow.close()}, 3000);
Hãy tự mình thử »Đếm mãi mãi - nhưng có khả năng dừng đếm:
function startCount()
function stopCount()
Hãy tự mình thử »Đồng hồ được tạo bằng các sự kiện tính thời gian:
function startTime() {
const date = new Date();
document.getElementById("txt").innerHTML = date.toLocaleTimeString();
setTimeout(function() {startTime()}, 1000);
}
Hãy tự mình thử »Truyền tham số cho hàm (không hoạt động trong IE9 trở về trước):
setTimeout(myFunc, 2000, "param1", "param2");
Hãy tự mình thử »Tuy nhiên, nếu bạn sử dụng chức năng ẩn danh, nó sẽ hoạt động trên tất cả các trình duyệt:
setTimeout(function() {myFunc("param1", "param2")}, 2000);
Hãy tự mình thử »Hỗ trợ trình duyệt
setTimeout()
được hỗ trợ trong tất cả các trình duyệt:
Chrome | Edge | Firefox | Safari | Opera | IE |
Yes | Yes | Yes | Yes | Yes | Yes |