Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/meteor/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 延迟加载数值范围内的图像?_Javascript_Jquery - Fatal编程技术网

Javascript 延迟加载数值范围内的图像?

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) {

我有一些JS,它根据图像的数值在一定范围内加载图像(例如,3.png)。我想推迟在第59帧之后加载图像,直到加载了前59帧之后。我怎样才能做到这一点

    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,以便我们可以查看。