jquery - JQuery 中的 BG 图像预加载器

标签 jquery image preloader preload image-preloader

我有一组图像

var photos = ["images/bg01.jpg", "images/bg02.jpg", "images/bg03.jpg"];

我循环遍历这个数组,并根据间隔将它们设置为 div 的背景

$("#bgimg" + activeContainer).css({
        "background-image" : "url(" + photos[i] + ")",
        "display" : "block",
        "z-index" : currentZindex
    });

编辑:我需要在执行 setInterval 函数之前预加载所有三个图像。

提前致谢!!

最佳答案

将变量设置为必须加载的图像数量。每次图像加载完成时就递减计数器,当计数器达到零时,开始显示图像。

function photoLoaded() {
    if(!--numPhotosLeft) {
        // start showing images
    }
}

var photos = ["images/bg01.jpg", "images/bg02.jpg", "images/bg03.jpg"];
var numPhotosLeft = photos.length;

for(var i = 0; i < photos.length; ++i) {
    var img = new Image();
    img.onload = photoLoaded;
    img.src = photos[i];
}

关于jquery - JQuery 中的 BG 图像预加载器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4356931/

相关文章:

c++ - 如何填充 Vec3b 数组

javascript - 在图像上显示图像 CSS (2)

java - 如何使用 Preloader 重新启动 JavaFX 中的应用程序?

javascript - JQuery 无法找到选择列表

python - 在python中使用PIL以相同的裁剪尺寸裁剪整个图像

javascript - 为什么不能将链接切换为可见?

javascript - 当前主题wp中部分内容的预加载器

jquery - 无法让图像预加载在 IE8 中正常工作

jquery - 使用 Web 服务获取 NSE 和 BSE 的股票报价并使用 json 进行解析

javascript - Dblclick 事件处理程序不响应苹果设备