1

我正在研究 imageSlider,我已经拍摄了 div 并设置了 div 的背景图像。on Page 加载背景页面需要大量时间来加载图像。有什么方法可以首先在缓存中加载所有背景图像,一旦加载,我就可以显示主 Div ..

我正在读取 xml 文件,然后一一设置 div 的背景图像。

$('#myImageFlow').append('<div id="id'+k+'" alt="div'+k+'" class="sliderImage" width="280" height="310" style="visibility:hidden"> <div class="ffrontText" id="ff'+k+'">'+frontDiv[k]+'</div><div class="borderdiv" id="b'+k+'"></div><div class="borderdiv1" id="bd'+k+'"></div><div class="reflection" id="ref'+k+'"></div>  <div class="overlay" id="o'+k+'"></div></div>');

任何建议。

在此处输入图像描述

4

1 回答 1

0

您可以创建一个带有两个参数(图像源数组和回调)的函数,并在加载完所有图像后调用回调函数。

例子:

preload_images = function(images, callback) {
    var images_count = images.length;
    var loaded_count = 0;
    $.each(images, function(index, src) {
        var image = $('<img src="' + src + '">');
        image.load(function() {
            loaded_count++;
            if (loaded_count == images_count && callback) {
                callback();
            }
        });
    });
}

preload_images(['1.jpg', '2.jpg', '3.jpg'], function() { // pass background images in array
    console.log('background images preloaded');
    // Show main div
});
于 2013-07-15T11:42:39.117 回答