Я хочу предварительно загрузить кучу изображений и отобразить индикатор выполнения в одно и то же время.Javascript - индикатор выполнения с несколькими изображениями
На данный момент код работает только с 1 изображением, вот это:
$progress = document.querySelector('#progress');
var url = 'https://placekitten.com/g/2000/2000';
var request = new XMLHttpRequest();
request.onprogress = onProgress;
request.onload = onComplete;
request.onerror = onError;
function onProgress(event) {
if (!event.lengthComputable) {
return;
}
var loaded = event.loaded;
var total = event.total;
var progress = (loaded/total).toFixed(2);
$progress.textContent = 'Loading... ' + parseInt(progress * 100) + ' %';
console.log(progress);
}
function onComplete(event) {
var $img = document.createElement('img');
$img.setAttribute('src', url);
$progress.appendChild($img);
console.log('complete', url);
}
function onError(event) {
console.log('error');
}
$progress.addEventListener('click', function() {
request.open('GET', url, true);
request.overrideMimeType('text/plain; charset=x-user-defined');
request.send(null);
});
<div id="progress">Click me to load</div>
А вот jsfiddle проверить код из: https://jsfiddle.net/q5d0osLr/
Как я могу заставить его работать с более чем одно изображение?
Это не ясно, что вы хотите достичь. Вы хотите изменить изображения, как это происходит? Как я вижу, вы имеете доступ только к одному изображению. – chayasan
Если у меня 10 изображений, я хочу, чтобы индикатор выполнения достиг 100%, когда все 10 изображений закончили загрузку. – Speedwheelftw