روش setInterval() Window
- 上一页 self
- 下一页 setTimeout()
- 返回上一层 ویندو آوبجیکٹ
تعریف و استفاده
setInterval()
روش با فاصله زمانی مشخصی (به میلیثانیه) توابع را فراخوانی کند.
setInterval()
این روش به صورت دورهای توابع را فراخوانی میکند، تا زمانی که clearInterval() یا پنجره را ببندید.
نکته:1 ثانیه = 1000 میلیثانیه.
توضیحات
برای اجرای یک بار توابع، از setTimeout()
روش استفاده کنید.
برای پاک کردن تناوب، از setInterval()
id بازگشتی:
myInterval = setInterval(function, milliseconds);
سپس میتوانید با فراخوانی clearInterval()
برای توقف اجرا استفاده کنید:
clearInterval(myInterval);
لطفاً به
مثالها
مثال 1
هر ثانیه "Hello" را نمایش دهید (1000 میلیثانیه):
setInterval(function () {element.innerHTML += "Hello"}, 1000);
مثال 2
هر ثانیه displayHello را فراخوانی کنید:
setInterval(displayHello, 1000);
مثالهای بیشتری در پایین صفحه ارائه شده است.
قوانین دستور زبان
setInterval(function, milliseconds, param1, param2, ...)
پارامترها
پارامترها | توضیح |
---|---|
function | ضروری. توابعی که باید اجرا شوند |
milliseconds |
ضروری. فاصله زمانی برای اجرا اگر مقدار کمتر از 10 باشد، از 10 استفاده کنید. |
param1, param2, ... |
اختیاری. پارامترهای اضافی که به تابع ارسال میشوند. IE9 و نسخههای قبلی آن از آن پشتیبانی نمیکنند. |
مقدار بازگشتی
نوع | توضیح |
---|---|
عدد |
ID تایمر لطفاً این id را با clearInterval() با هم استفاده کنید تا تایمر را لغو کنید. |
حمایت مرورگر
تمام مرورگرها از آن حمایت میکنند setInterval()
کروم | آئیای | ایج | فایرفاکس | سافاری | آپرا |
---|---|---|---|---|---|
کروم | آئیای | ایج | فایرفاکس | سافاری | آپرا |
پشتیبانی | پشتیبانی | پشتیبانی | پشتیبانی | پشتیبانی | پشتیبانی |
مثالهای بیشتر
مثال 3
زمان را مانند یک ساعت دیجیتال نمایش دهید:
setInterval(myTimer, 1000); function myTimer() { const date = new Date(); document.getElementById("demo").innerHTML = date.toLocaleTimeString(); }
مثال 4
با استفاده از clearInterval() یک ساعت دیجیتال را متوقف کنید:
const myInterval = setInterval(myTimer, 1000); function myTimer() { const date = new Date(); document.getElementById("demo").innerHTML = date.toLocaleTimeString(); } function myStopFunction() { clearInterval(myInterval); }
مثال 5
با استفاده از setInterval() و clearInterval() یک نوار پیشرفت دینامیک ایجاد کنید:
function move() { const element = document.getElementById("myBar"); let width = 0; let id = setInterval(frame, 10); function frame() { if (width == 100) { clearInterval(id); } else { width++; element.style.width = width + '%'; } } }
مثال 6
هر 500 میلثانیه یک بار بین دو رنگ پسزمینه جابجا میشود:
const myInterval = setInterval(setColor, 500); function setColor() { let x = document.body; x.style.backgroundColor = x.style.backgroundColor == "yellow" ? "pink" : "yellow"; } function stopColor() { clearInterval(myInterval); }
مثال 7
پارامترها را به توابع منتقل کنید (در نسخههای IE9 و قبل از آن کار نمیکند):
setInterval(myFunc, 2000, "param1", "param2");
لیکن، اگر آپ انیموسیون نادانسته استعمال میکنید، آن برای تمامی مرورگرها کاربرد دارد:
setInterval(function() {myFunc("param1", "param2")}, 2000);
- 上一页 self
- 下一页 setTimeout()
- 返回上一层 ویندو آوبجیکٹ