Run requestAnimationFrame elke 5 seconde
Yoeri Achterbergen
06/03/2023 11:18:09Hallo,
Ik loop vast met het volgende in JavaScript
Wat ik probeer is om een requestAnimationFrame elke 5 seconden te laten lopen.
Als voorbeeld heb ik een fade in gemaakt met requestAnimationFrame.
Helaas doet de code het maar 1x en word de loop zoals ik die zou willen van 5 seconden niet gedaan.
Wat zie ik over het hoofd?
Ik loop vast met het volgende in JavaScript
Wat ik probeer is om een requestAnimationFrame elke 5 seconden te laten lopen.
Als voorbeeld heb ik een fade in gemaakt met requestAnimationFrame.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
setTimeout(() => {
let start;
let ani = window.requestAnimationFrame(animation);
function animation(timeStamp){
document.getElementById('box').style.opacity = 0;
if(!start){
start = timeStamp;
}
const opacity = (timeStamp - start) / 3000;
if(opacity >= 1){
document.getElementById('box').style.opacity = 1;
window.cancelAnimationFrame(ani);
return;
}
document.getElementById('box').style.opacity = opacity;
window.requestAnimationFrame(animation);
}
}, 5000);
let start;
let ani = window.requestAnimationFrame(animation);
function animation(timeStamp){
document.getElementById('box').style.opacity = 0;
if(!start){
start = timeStamp;
}
const opacity = (timeStamp - start) / 3000;
if(opacity >= 1){
document.getElementById('box').style.opacity = 1;
window.cancelAnimationFrame(ani);
return;
}
document.getElementById('box').style.opacity = opacity;
window.requestAnimationFrame(animation);
}
}, 5000);
Helaas doet de code het maar 1x en word de loop zoals ik die zou willen van 5 seconden niet gedaan.
Wat zie ik over het hoofd?
PHP hulp
22/11/2024 20:44:40Jan R
06/03/2023 12:27:59Je wacht 5000 ms dus 5" om de functie te starten. Eens deze gestart is start je deze niet meer.
Je moet deze lap code dus in een functie steken dan de functie aanroepen na 5" maar ook in de functie steken "doe dat nog ne keer binnen 5"
Je moet deze lap code dus in een functie steken dan de functie aanroepen na 5" maar ook in de functie steken "doe dat nog ne keer binnen 5"