Javascript 延迟加载数值范围内的图像?
我有一些JS,它根据图像的数值在一定范围内加载图像(例如,3.png)。我想推迟在第59帧之后加载图像,直到加载了前59帧之后。我怎样才能做到这一点Javascript 延迟加载数值范围内的图像?,javascript,jquery,Javascript,Jquery,我有一些JS,它根据图像的数值在一定范围内加载图像(例如,3.png)。我想推迟在第59帧之后加载图像,直到加载了前59帧之后。我怎样才能做到这一点 for (i = 1; i < totalFrames + 1; i++) { var ext = '.png'; image = new Image(); if (isDesktop) { if (i % incr === 0) {
for (i = 1; i < totalFrames + 1; i++) {
var ext = '.png';
image = new Image();
if (isDesktop) {
if (i % incr === 0) {
num = i;
}
// Need to load these frames on desktop:
if (
i === 1 ||
i === 59 ||
i === 151 ||
i === 256 ||
i === 317 ||
i === 358 ||
i === 400
) {
num = i;
}
} else {
// Need to load only these frames on mobile
if (
(i >= 39 && i <= 59) ||
(i >= 131 && i <= 151) ||
(i >= 236 && i <= 256) ||
(i >= 298 && i <= 491)
) {
num = i;
}
}
image.src = '/assets/images/innovation-sequence/final-stills/' + (num) + ext;
image.setAttribute('data-num', i);
images.push(image);
image.onload = function() {
loadedCount++;
if (loadedCount < lastPng) {
Loader.setProgress(loadedCount / lastPng);
}
if (parseInt(this.getAttribute('data-num'), 10) >= lastPng && !relinquished) {
relinquished = true;
setupLayout();
Loader.restart();
}
};
}
}
for(i=1;i=39&&i=131&&i=236&&i=298&&i=lastPng&&!放弃){
放弃=正确;
setupLayout();
Loader.restart();
}
};
}
}
您已经有一个image.onload()事件,您正在计算加载了loadedCount的图像;缺少什么?您所说的“延迟加载”到底是什么意思?当前,加载覆盖在加载所有图像之前阻止页面可见。我希望加载覆盖在加载后消失(比方说)加载前59个图像。一旦覆盖消失,然后继续加载其余图像。好的,那么你想阻止用户做任何事情,直到至少有59个(ish)图像已经加载,对吗?是的,基本上。加载59个图像后释放覆盖。最好删除onLoad()从FOR循环进行事件绑定,并使用委派将事件附加到父元素。请发布您的HTML以便我们查看。您已经有一个image.onload()事件,并且您正在计算加载了loadedCount的图像;缺少什么?您所说的“延迟加载”到底是什么意思?当前,加载覆盖在加载所有图像之前阻止页面可见。我希望加载覆盖在加载前59个图像后消失。一旦覆盖消失,然后继续加载其余图像。好的,那么您想阻止用户做任何事情,直到至少有59个(ish)图像图像已加载,对吗?是的,基本上。加载59个图像后释放覆盖。最好从FOR循环中删除onLoad()事件绑定,并使用委托将事件附加到父元素。请发布您的HTML,以便我们可以查看。