طريقة 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

استخدم clearTimeout(myTimeout) لإيقاف تشغيل myGreeting:

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

تجربة بنفسك

يوجد أمثلة إضافية في أسفل الصفحة.

النحو

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

المعلمات

المعلمات وصف
function مطلوب. الدالة التي يجب تنفيذها.
milliseconds

اختياري. عدد الميليسي ثانية التي يجب انتظارها قبل التنفيذ.

القيمة الافتراضية هي 0.

param1, param2,...

اختياري. المعلمات المرسلة إلى الدالة.

IE9 وأقدم إصداراته لا تدعم.

القيمة المعدة

نوع وصف
رقم.

معرف الجهاز الزمني.

الرجاء إدخال هذا id مع clearTimeout(idالطريقة استخدامها معًا لإلغاء جهاز التوقيت.

دعم المتصفحات

يدعم جميع المتصفحات setTimeout():

كروم IE الحدود فايرفوكس سفاري أوبرا
كروم IE الحدود فايرفوكس سفاري أوبرا
دعم دعم دعم دعم دعم دعم

مزيد من الأمثلة

مثال 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);

تجربة بنفسك