کار با تایمرها در جاوااسکریپت
در ادامه آموزش جاوااسکریپت به مبحث زمان و استفاده از عملگرها و توابع در زمان های مشخص می پردازیم.
1- setTimeout
به مثال زیر توجه کنید
function simpleMessage() {
alert("This is just an alert box");
}
// settimeout is in milliseconds
setTimeout(simpleMessage,5000);
کد بالا، پس از 5 ثانیه، تابع simpleMessage را اجرا می کند (فراموش نکنید که زمان ها در جاوااسکریپت به میلی ثانیه نوشته می شوند) تابع simpleMessage هم تنها یک پیغام را به صورت پنجره بازشونده به نمایش می گذارد. به منظور پاک کردن و از بین بردن این تایمر می توانیم از کد clearTimeout استفاده کنیم.
2- setInterval
به منظور اجرای یک دستور در فواصل زمانی مشخص از کد بالا استفاده می کنیم. به مثال زیر توجه کنید
function simpleMessage() {
alert("This is just an alert box");
}
setInterval(impleMessage,5000);
دستور بالا، تابع simpleMessage را هر 5 ثانیه اجرا می کند. به منظور توقف این تابع، کد را به صورت زیر تغییر می دهیم
var myImage = document.getElementById("mainImage");
var intervalHandle = setInterval(simpleMessage,5000);
myImage.onclick = function() {
clearInterval(intervalHandle);
};
در دستور بالا ابتدا یکی از المان های مورد نظر صفحه را انتخاب کردیم و پس از تعریف تابع مورد نظر و تعریف دوره زمانی، یک کنترل کننده اضافه کردیم که به محض کلیک بر روی المان مورد نظر، دوره زمانی را لغو می کند.