44 lines
1.1 KiB
JavaScript
44 lines
1.1 KiB
JavaScript
let intervalIds = [];
|
|
fetch('http://localhost:3000/code')
|
|
.then(function(response) {
|
|
return response.json();
|
|
})
|
|
.then(function(data) {
|
|
function runIntervals() {
|
|
intervalIds.forEach(clearInterval);
|
|
intervalIds = [];
|
|
let timeOuter = 5000;
|
|
let timeInner = 1000;
|
|
let countAnim = 1;
|
|
let minPerso = 0;
|
|
let maxPerso = 5;
|
|
let perso = Math.floor(Math.random() * (maxPerso - minPerso + 1) + minPerso);
|
|
let length = data[perso].length
|
|
if(length*timeInner > timeOuter){
|
|
timeOuter = length*timeInner + timeInner
|
|
}
|
|
let imgElement = document.getElementById(perso);
|
|
if (imgElement){
|
|
intervalIds.push(setInterval(function() {
|
|
let anim = countAnim ++;
|
|
let check = (data[perso][anim]);
|
|
if(check === undefined){
|
|
anim = 0
|
|
}
|
|
let imgElement = document.getElementById(perso);
|
|
imgElement.src = (data[perso][anim]);
|
|
}, timeInner));
|
|
}
|
|
if(imgElement.src != data[perso][0])
|
|
{
|
|
setTimeout(function(){
|
|
runIntervals()
|
|
}, timeOuter);
|
|
}
|
|
}
|
|
function stopIntervals() {
|
|
intervalIds.forEach(clearInterval);
|
|
intervalIds = [];
|
|
}
|
|
runIntervals();
|
|
}); |