زمان بندی رویدادها در جاوا اسکریپت

جاوا اسکریپت را می توان در بازه های زمانی (time-intervals) اجرا کرد که به آن timing events می گویند.

زمان بندی رویدادها در جاوا اسکریپت

زمان بندی رویدادها در جاوا اسکریپت

جاوا اسکریپت را می توان در بازه های زمانی (time-intervals) اجرا کرد که به آن timing events می گویند.

Timing Events

شی window امکان اجرای کد را در فاصله های زمانی مشخص می دهد. این بازه های زمانی را timing events می نامند.

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

1 - setTimeout(function, milliseconds) که یک تابع را پس از چند میلی ثانیه انتظار از پیش تعیین شده اجرا می کند.

2 - setInterval(function, milliseconds) که مانند ()setTimeout است اما اجرای تابع را به طور مداوم تکرار می کند.

()setTimeout و ()setInterval هر دو متدهای شیء HTML DOM Window هستند.

متد ()setTimeout

Timing Events در جاوا اسکریپت

متد ()window.setTimeout را می توان بدون پیشوند window نوشت.

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

پارامتر دوم تعداد میلی ثانیه قبل از اجرا را نشان می دهد.

مثال زیر را ببینید.

روی یک دکمه کلیک کنید. 3 ثانیه صبر کنید و صفحه "Hello" را به صورت alert نشان می دهد:

متد ()setTimeout

خروجی قطعه کد بالا عبارت است از:

متد ()setTimeout

چگونه اجرا را متوقف کنیم؟

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

Timing Events در جاوا اسکریپت

متد ()window.clearTimeout را می توان بدون پیشوند window نوشت.

متد ()clearTimeout از متغیر برگردانده شده از ()setTimeout استفاده می کند.

Timing Events در جاوا اسکریپت

اگر تابع قبلاً اجرا نشده است، می توانید با فراخوانی متد ()clearTimeout اجرا را متوقف کنید:

مثال زیر را ببینید.

همان مثال بالا، اما با یک دکمه "Stop" اضافه شده است:

Timing Events در جاوا اسکریپت

خروجی قطعه کد بالا عبارت است از:

Timing Events در جاوا اسکریپت

متد ()setInterval

متد ()setInterval یک تابع تعیین شده را در هر بازه زمانی تعیین شده تکرار می کند.

متد ()setInterval

متد ()window.setInterval را می توان بدون پیشوند window نوشت.

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

پارامتر دوم طول فاصله زمانی بین هر اجرا را نشان می دهد.

این مثال تابعی به نام myTimer را هر ثانیه یک بار (مانند ساعت دیجیتال) اجرا می کند.

مثال زیر را ببینید.

نمایش زمان فعلی:

Timing Events در جاوا اسکریپت

خروجی قطعه کد بالا عبارت است از:

Timing Events در جاوا اسکریپت

اینجا 1000 میلی ثانیه در یک ثانیه است.

چگونه اجرا را متوقف کنیم؟

متد ()clearInterval اجرای تابع مشخص شده در متد ()setInterval را متوقف می کند.

آموزش جاوااسکریپت

متد ()window.clearInterval را می توان بدون پیشوند window نوشت.

متد ()clearInterval از متغیر برگردانده شده از ()setInterval استفاده می کند.

Timing Events در جاوا اسکریپت

مثال زیر را ببینید.

همان مثال بالا است، اما دکمه "Stop time" را اضافه کرده ایم:

Timing Events در جاوا اسکریپت

خروجی قطعه کد بالا عبارت است از:

Timing Events در جاوا اسکریپت
زمان بندی رویدادها در جاوا اسکریپت متد ()setTimeout متد ()setInterval

مقالات این دسته بندی