Цикл + таймер
Подскажите как подружить таймер с циклом?
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, время: 16:39. |