หน้าต่าง setTimeout()
ตัวอย่าง
รอ 5 วินาทีเพื่อทักทาย:
const myTimeout = setTimeout(myGreeting, 5000);
ใช้ clearTimeout(myTimeout) เพื่อป้องกันไม่ให้ myGreeting ทำงาน:
const myTimeout = setTimeout(myGreeting, 5000);
function myStopFunction() {
clearTimeout(myTimeout);
}
ตัวอย่างเพิ่มเติมด้านล่าง
ความหมายและการใช้งาน
setTimeout()
เมธอดเรียกใช้ฟังก์ชันหลังจากผ่านไปหลายมิลลิวินาที
1 วินาที = 1,000 มิลลิวินาที
หมายเหตุ
จะดำเนิน การsetTimeout()
เพียงครั้งเดียว
หากคุณต้องการดำเนินการซ้ำ ให้ใช้setInterval()
แทน
ใช้clearTimeout()
วิธีการนี้เพื่อป้องกันไม่ให้ฟังก์ชันเริ่มทำงาน
หากต้องการล้างการหมดเวลา ให้ใช้id ที่ ส่งคืนจาก setTimeout():
myTimeout = setTimeout(function, milliseconds);
จากนั้นคุณสามารถหยุดการดำเนินการได้โดยเรียก clearTimeout():
clearTimeout(myTimeout);
ดูสิ่งนี้ด้วย:
ไวยากรณ์
setTimeout(function, milliseconds, param1, param2, ...)
พารามิเตอร์
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. |
คืนมูลค่า
พิมพ์ | คำอธิบาย |
หมายเลข | รหัสของตัวจับเวลา ใช้ ID นี้กับ clearTimeout(id) เพื่อยกเลิกตัวจับเวลา |
ตัวอย่างเพิ่มเติม
แสดงกล่องแจ้งเตือนหลังจาก 3 วินาที (3000 มิลลิวินาที):
let timeout;
function myFunction() {
timeout = setTimeout(alertFunc, 3000);
}
function alertFunc() {
alert("Hello!");
}
แสดงข้อความหมดเวลา:
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);
เปิดหน้าต่างใหม่และปิดหน้าต่างหลังจากผ่านไปสามวินาที (3000 มิลลิวินาที):
const myWindow = window.open("", "", "width=200, height=100");
setTimeout(function() {myWindow.close()}, 3000);
นับตลอดไป - แต่ด้วยความสามารถในการหยุดการนับ:
function startCount()
function stopCount()
นาฬิกาที่สร้างขึ้นด้วยเหตุการณ์การจับเวลา:
function startTime() {
const date = new Date();
document.getElementById("txt").innerHTML = date.toLocaleTimeString();
setTimeout(function() {startTime()}, 1000);
}
ส่งพารามิเตอร์ไปยังฟังก์ชัน (ไม่ทำงานใน IE9 และรุ่นก่อนหน้า):
setTimeout(myFunc, 2000, "param1", "param2");
อย่างไรก็ตาม หากคุณใช้ฟังก์ชันที่ไม่ระบุตัวตน ฟังก์ชันนี้จะทำงานในเบราว์เซอร์ทั้งหมด:
setTimeout(function() {myFunc("param1", "param2")}, 2000);
รองรับเบราว์เซอร์
setTimeout()
รองรับในทุกเบราว์เซอร์:
Chrome | IE | Edge | Firefox | Safari | Opera |
Yes | Yes | Yes | Yes | Yes | Yes |