مетод Window setTimeout()

تعریف و استفاده

setTimeout() توابع پس از چند میلی‌ثانیه فراخوانی می‌شوند.

نکته:1 ثانیه = 1000 میلی‌ثانیه.

توضیحات

setTimeout() فقط یک بار اجرا شود.

اگر نیاز به تکرار دارید، به جای آن از setInterval().

لطفاً استفاده کنید روش clearTimeout() برای جلوگیری از شروع تابع استفاده کنید.

برای حذف تاخیر، از setTimeout() شناسه بازگشتی:

myTimeout = setTimeout(function, milliseconds);

سپس می‌توانید با فراخوانی روش clearTimeout() برای توقف اجرا استفاده کنید:

clearTimeout(myTimeout);

لطفاً به: مراجعه کنید

روش clearTimeout()

روش setInterval()

روش clearInterval()

مثال

مثال 1

گوشزدی 5 ثانیه‌ای برای صبر کردن:

const myTimeout = setTimeout(myGreeting, 5000);

آزمایش کنید

مثال 2

برای جلوگیری از اجرای myGreeting از طریق clearTimeout(myTimeout) استفاده کنید:

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

آزمایش کنید

مثال‌های بیشتری در پایین صفحه موجود است.

قوانین دستور زبان

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

پارامترها

پارامترها توضیحات
function ضروری. توابعی که باید اجرا شوند.
milliseconds

اختیاری. تعداد میلی‌ثانیه‌هایی که قبل از اجرا منتظر می‌ماند.

مقدار پیش‌فرض 0 است.

param1, param2,...

اختیاری. پارامترهایی که به تابع ارسال می‌شوند.

IE9 و نسخه‌های قبلی آن پشتیبانی نمی‌کنند.

مقدار بازگشتی

نوع توضیحات
عدد.

شناسه زمان‌سنج.

لطفاً این 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);

آزمایش کنید