Цикл + таймер
Подскажите как подружить таймер с циклом?
while (z < step) { c += z; console.log(z, c); while (i < idNumberBack) { var TopLeft = arrayTopLeft[c]; var returnId = ("object" + i); document.getElementById(returnId).style.cssText = TopLeft; c += step; i++; } c = 1; i = 1; z++; } внутренний цикл должен исполняться n-раз в секунду |
Цитата:
медитировать тут JS-Анимация |
рони,
<div id="test"></div> <script> function delay(duration) { return new Promise(resolve => { setTimeout(resolve, duration); }); } (async () => { let counter = 0; while(true) { await delay(500); test.textContent = counter++; } })(); </script> |
Malleys,
ок, спасибо за науку, но проще один setTimeout, без while, await, Promise ... <div id="test"></div> <script> var counter = 0; (function delay(duration) { test.textContent = counter; if(++counter <= 100) setTimeout(delay, duration, duration); })(500) </script> |
"сваял" что-то страшное, но почему-то работает...
var animation = setInterval(function() { c+=z; while (y < idNumber) { var TopLeft = arrayTopLeft[c]; var returnId = ("object" + i); document.getElementById(returnId).style.cssText = TopLeft; if (i == (idNumber-1)){ i=1; } c += step; i++; y++; } i = 1; c=1; y = 1; z++; if (z == step){ z = 0; } },1000/step); |
Часовой пояс GMT +3, время: 22:14. |