سبد (0)

متد setTimeout

مثال (متد setTimeout)

نمایش دادن یک جعبه Alert بعد از هر 3 ثانیه(3000 میلی ثانیه):

setTimeout(function(){ alert("Hello"); }, 3000);

خودتان امتحان کنید »

در انتهای این صفحه، مثال های بیشتری آورده شده است.


تعریف و کاربرد

متد setTimeout()، یک تابع را فراخوانی کرده یا یک عبارت را بعد از یک تعداد مشخص میلی ثانیه ارزیابی می کند.

نکته: 1 ثانیه برابر با 1000 میلی ثانیه است.

نکته: تابع مورد نظر تنها یک بار اجرا می شود. در صورتی که نیاز دارید اجرا شدن تابع تکرار شود، از متد setInterval() استفاده کنید.

نکته: می توانید از متد clearTimeout() برای اجتناب از اجرا شدن تابع استفاده کنید.


پشتیبانی مرورگرها

اعداد داخل جدول زیر نشان دهنده ی اولین ورژن مرورگری است که به طور کامل از این متد پشتیبانی می کند.

متد     
setTimeout() 1.0 4.0 1.0 1.0 4.0

نحوه استفاده

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

مقادیر پارامترها

پارامترتوضیحات
function

ضروری. تابعی که قرار است اجرایی شود.

milliseconds

ضروری. تعداد میلی ثانیه هایی که بعد از گذشت آن کدها اجرا می شوند.

param1,param2,...

اختیاری. پارامترهای اضافی برای رد کردن به تابع(در IE9 و ورژن های قبلی آن پشتیبانی نمی شود).

جزئیات تکنیکی

مقدار برگشتی

یک عدد که مشخص کننده ی ID تایمری است که ایجاد شده است. از این Id می توانید در کنار دستور clearTimeout() برای متوقف کردن تایمر استفاده کنید.

مثال

مثال - خودتان امتحان کنید

مثال (متد setTimeout)

شما همچنین می توانید به یک تابع نام گذاری شده رجوع کنید. نمایش دادن یک جعبه alert بعد از گذشت 3 ثانیه(3000 میلی ثانیه):

var myVar;

function myFunction() {
    myVar = setTimeout(alertFunc, 3000);
}

function alertFunc() {
    alert("Hello!");
}

خودتان امتحان کنید »

مثال (متد setTimeout)

نمایش دادن یک متن زمان گذاری شده:

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

خودتان امتحان کنید »

مثال (متد setTimeout)

باز کردن یک پنجره و بستن آن بعد از 3 ثانیه(3000 میلی ثانیه):

var myWindow = window.open("", "", "width=200, height=100");
myWindow.document.write("<p>This is 'myWindow'</p>");
setTimeout(function(){ myWindow.close() }, 3000);

خودتان امتحان کنید »

مثال (متد setTimeout)

استفاده از clearTimeout() برای اجتناب از اجرا شدن تابع:

var myVar;

function myFunction() {
    myVar = setTimeout(function(){ alert("Hello") }, 3000);
}

function myStopFunction() {
    clearTimeout(myVar);
}

خودتان امتحان کنید »

مثال (متد setTimeout)

شمارش برای همیشه اما با قابلیت متوقف کردن شمارش:

function startCount()
function stopCount()

خودتان امتحان کنید »

مثال (متد setTimeout)

ایجاد یک ساعت با استفاده از رویداد های زمان:

function startTime() {
    var today = new Date();
    var h = today.getHours();
    var m = today.getMinutes();
    var s = today.getSeconds();
    // add a zero in front of numbers<10
    m = checkTime(m);
    s = checkTime(s);
    document.getElementById("txt").innerHTML = h+ ":" + m + ":" + s;
    t = setTimeout(function(){ startTime() }, 500);
}

function checkTime(i) {
    if (i<10) {
        i = "0" + i;
    }
    return i;
}

خودتان امتحان کنید »

مثال (متد setTimeout)

رد کردن پارامترها به تابع alertFunc (در IE9 و ورژن های قبلی آن پشتیبانی نمی شود):

var myVar;

function myStartFunction() {
    myVar = setTimeout(alertFunc, 2000, "First param", "Second param");
}

خودتان امتحان کنید »

اما در صورتی که شما از یک تابع بی نام استفاده کنید، در تمام مرورگرها کار می کند:

var myVar;

function myStartFunction() {
    myVar = setTimeout(function(){ alertFunc("First param", "Second param"); }, 2000);
}

خودتان امتحان کنید »

آموزش های مرتبط

کلیه توابع و خصوصیت های شیء Window در JavaScript: clearTimeout() Method

کلیه توابع و خصوصیت های شیء Window در JavaScript: setInterval() Method

کلیه توابع و خصوصیت های شیء Window در JavaScript: clearInterval() Method


کلیه توابع و خصوصیت های شیء Window در JavaScript Reference کلیه توابع و خصوصیت های شیء Window در JavaScript


تمامی محصولات و خدمات این وبسایت، حسب مورد دارای مجوزهای لازم از مراجع مربوطه می‌باشند و فعالیت‌های این سایت تابع قوانین و مقررات جمهوری اسلامی ایران است.
logo-samandehi مجوز نشر دیجیتال از وزرات فرهنگ و ارشاد اسلامی پرداخت آنلاین -  بانک ملت معرفی بیاموز در شبکه سه