วิธีการ Window setTimeout()

การประกาศและการใช้งาน

setTimeout() วิธีการเรียกใช้ฟังก์ชันหลังจากหลายมิลลิเซ็กัน。

หมายเหตุ:1 วินาที = 1000 มิลลิเซ็กัน。

คำเตือน

setTimeout() ทำงานเพียงครั้งเดียว。

ถ้าคุณต้องการที่จะทำงานซ้ำๆ ให้ใช้ setInterval()

โปรดใช้ วิธีการ clearTimeout() เพื่อหยุดการเริ่มงานของฟังก์ชัน:

ถ้าต้องการลบการนับเวลาครึ่งวินาที ใช้ setTimeout() id ที่ส่งกลับ:

myTimeout = setTimeout(function, milliseconds);

หลังจากนั้นคุณสามารถเรียกใช้ วิธีการ clearTimeout() เพื่อหยุดการทำงาน:

clearTimeout(myTimeout);

ดูเพิ่มเติม:

วิธีการ clearTimeout()

วิธีการ setInterval()

วิธีการ clearInterval()

ตัวอย่าง

ตัวอย่าง 1

ข้อความสวัสดีที่รอ 5 วินาที:

const myTimeout = setTimeout(myGreeting, 5000);

ทดลองด้วยตัวเอง

ตัวอย่าง 2

ใช้ clearTimeout(myTimeout) ที่จะหยุดการทำงานของ myGreeting:

const myTimeout = setTimeout(myGreeting, 5000);
function myStopFunction() {
  clearTimeout(myTimeout);
}

ทดลองด้วยตัวเอง

มีตัวอย่างเพิ่มเติมใต้หน้าเว็บ。

รูปแบบการใช้งาน

setTimeout(function, milliseconds, param1, param2, ...)

ตัวแปร

ตัวแปร คำอธิบาย
function จำเป็น。ฟังก์ชันที่ต้องการปฏิบัติการ。
milliseconds

ตัวเลือก。จำนวนมิลลิเซ็กันที่ต้องการรอก่อนที่จะปฏิบัติการ。

ค่าปริยายคือ 0。

param1, param2,...

ตัวเลือก。ตัวแปรที่ส่งให้กับฟังก์ชัน。

IE9 และรุ่นเก่ากว่าไม่สนับสนุน。

ค่าที่ส่งกลับ

ประเภท คำอธิบาย
ตัวเลข。

ID ของตัวเครื่องมือนับเวลา。

โปรดเชื่อมโยง id นี้กับ clearTimeout(idโมดูล ใช้ร่วมกันเพื่อยกเลิกตัวตั้งเวลา。

การสนับสนุนเบราวเซอร์

ทุกเบราวเซอร์เข้าถึง setTimeout():

Chrome IE Edge Firefox Safari Opera
Chrome IE Edge Firefox Safari Opera
สนับสนุน สนับสนุน สนับสนุน สนับสนุน สนับสนุน สนับสนุน

ตัวอย่างเพิ่มเติม

ตัวอย่าง 3

แสดงตัวเตือนหลังจาก 3 วินาที (3000 มิลลิวินาที):

let timeout;
function myFunction() {
  timeout = setTimeout(alertFunc, 3000);
}
function alertFunc() {
  alert("Hello!");
}

ทดลองด้วยตัวเอง

ตัวอย่าง 4

แสดงข้อความตั้งเวลา:

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);

ทดลองด้วยตัวเอง

ตัวอย่าง 5

เปิดหน้าต่างใหม่และปิดหน้าต่างหลังจากสามวินาที (3000 มิลลิวินาที):

const myWindow = window.open("", "", "width=200, height=100");
setTimeout(function() {myWindow.close()}, 3000);

ทดลองด้วยตัวเอง

ตัวอย่าง 6

นับเวลาต่อเนื่อง - แต่สามารถหยุดนับได้:

function startCount()
function stopCount()

ทดลองด้วยตัวเอง

ตัวอย่าง 7

ตั้งโหราด้วยกิจกรรมเวลา:

function startTime() {
  const date = new Date();
  document.getElementById("txt").innerHTML = date.toLocaleTimeString();
  setTimeout(function() {startTime()}, 1000);
}

ทดลองด้วยตัวเอง

ตัวอย่าง 8

ส่งค่าตัวแปรให้กับฟังก์ชัน (ไม่ทำงานใน IE9 และรุ่นเก่ากว่า):

setTimeout(myFunc, 2000, "param1", "param2");

ทดลองด้วยตัวเอง

ตัวอย่าง 9

แต่ถ้าคุณใช้ฟังก์ชันที่ไม่มีชื่อ จะทำงานได้กับทุกเบราวเซอร์:

setTimeout(function() {myFunc("param1", "param2")}, 2000);

ทดลองด้วยตัวเอง