загрузить фоновые изображения Div в кеш

Я работаю над imageSlider, я взял div и установил фоновое изображение div. на странице загрузки фоновой страницы требуется много времени для загрузки изображения. есть ли способ сначала загрузить все фоновое изображение в кеш, а после загрузки я могу показать основной 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>');

Любое предложение .

введите описание изображения здесь


person anam    schedule 15.07.2013    source источник
comment
Просто стандартный предварительный загрузчик изображений должен сделать эту работу за вас.   -  person Reinstate Monica Cellio    schedule 15.07.2013
comment
@Archer я не работаю с img .. я хочу установить фоновое изображение div   -  person anam    schedule 15.07.2013
comment
Я знаю, но он кешируется точно так же, независимо от того, как вы его используете, поэтому загрузка его сначала как элемент изображения, а затем отображение страницы будет работать. Предзагрузка есть предзагрузка, в любом случае :)   -  person Reinstate Monica Cellio    schedule 15.07.2013


Ответы (1)


Вы можете создать функцию с двумя параметрами (массив источника изображения и обратный вызов) и вызвать функцию обратного вызова после загрузки всех изображений.

Пример:

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
});
person Manoj Yadav    schedule 15.07.2013