setInterval()
Misollar
"Hello" matnini har soniyada (1000 millisekund) ko‘rsating:
setInterval(function () {element.innerHTML += "Hello"}, 1000);
O‘zingiz sinab ko‘ring »
displayHello’ni har soniyada chaqiring:
setInterval(displayHello, 1000);
O‘zingiz sinab ko‘ring »
Quyida ko‘proq misollar.
Tavsif
setInterval() metodi funksiyani belgilangan intervallarda (millisekundlarda) chaqiradi.
setInterval() metodi clearInterval() chaqirilguncha yoki oyna yopilguncha funksiyani chaqirishda davom etadi.
1 soniya = 1000 millisekund.
Eslatma
Funksiyani faqat bir marta bajarish uchun uning o‘rniga setTimeout() metodidan foydalaning.
Intervalni tozalash uchun setInterval() qaytargan id’dan foydalaning:
myInterval = setInterval(function, milliseconds);
So‘ng clearInterval()’ni chaqirib, bajarilishni to‘xtatishingiz mumkin:
clearInterval(myInterval);
Shuningdek qarang:
Sintaksis
setInterval(function, milliseconds, param1, param2, ...)
Parametrlar
| Parametr | Tavsif |
| function | Majburiy. Bajariladigan funksiya |
| milliseconds | Majburiy. Bajarilish intervali. Agar qiymat 10 dan kichik bo‘lsa, 10 ishlatiladi |
| param1, param2, ... | Ixtiyoriy. function’ga uzatiladigan qo‘shimcha parametrlar IE9 va undan oldingi versiyalarda qo‘llab-quvvatlanmaydi. |
Qaytariladigan qiymat
| Tip | Tavsif |
| Son | Taymer id’si. Taymerni bekor qilish uchun bu id’ni clearInterval() bilan ishlating. |
Ko‘proq misollar
Misol
Vaqtni raqamli soat kabi ko‘rsating:
setInterval(myTimer, 1000);
function myTimer() {
const date = new Date();
document.getElementById("demo").innerHTML = date.toLocaleTimeString();
}
O‘zingiz sinab ko‘ring »
Misol
Raqamli soatni to‘xtatish uchun clearInterval()’dan foydalanish:
const myInterval = setInterval(myTimer, 1000);
function myTimer() {
const date = new Date();
document.getElementById("demo").innerHTML = date.toLocaleTimeString();
}
function myStopFunction() {
clearInterval(myInterval);
}
O‘zingiz sinab ko‘ring »
Misol
Dinamik jarayon chizig‘i (progress bar) yaratish uchun setInterval() va clearInterval()’dan foydalanish:
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 + '%';
}
}
}
O‘zingiz sinab ko‘ring »
Misol
Har 500 millisekundda ikki fon rangi o‘rtasida almashtiring:
const myInterval = setInterval(setColor, 500);
function setColor() {
let x = document.body;
x.style.backgroundColor = x.style.backgroundColor == "yellow" ? "pink" : "yellow";
}
function stopColor() {
clearInterval(myInterval);
}
O‘zingiz sinab ko‘ring »
Misol
Funksiyaga parametrlar uzating (IE9 va undan oldingi versiyalarda ishlamaydi):
setInterval(myFunc, 2000, "param1", "param2");
O‘zingiz sinab ko‘ring »
Biroq anonim funksiyadan foydalansangiz, u barcha brauzerlarda ishlaydi:
setInterval(function() {myFunc("param1", "param2")}, 2000);
O‘zingiz sinab ko‘ring »
Brauzerlarda qo‘llab-quvvatlash
setInterval() barcha brauzerlarda qo‘llab-quvvatlanadi:
| Chrome | Edge | Firefox | Safari | Opera | IE |
| Ha | Ha | Ha | Ha | Ha | Ha |
W3Schools Pathfinder
Yutuqlaringizni kuzating – bu bepul!
