Правильно ли используются эти предварительно загруженные изображения? - PullRequest
0 голосов
/ 25 октября 2011

Это довольно специфично, поэтому я не могу просто найти ответ в Интернете!

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

jQuery(document).ready(function(){

$icons = [];

$('#boat_icon').hide();

jQuery('.boat_row').each(function(e){
            $icons.push('url("' + $(this).attr("id") + '")');
            });

jQuery($icons).each(function(e){

jQuery('#boat_icon').css('background-image', this);

console.log(this + "loaded!");

});

$('#boat_icon').show();
});

 jQuery('.boat_row').hover(function(e){
     e.preventDefault();

     $(this).css('background-color', 'D8EAFF')

     var iconpath = $(this).attr("id");
     $('#boat_icon').css('background-image', 'url("'+iconpath+'")');
     },

     function(){
     $(this).css('background-color', '')
 });   

iconpath - это строка в базе данных, поэтому мне было интересно ... этоправильный способ использовать предварительно загруженные изображения?Поскольку изображения загружаются по готовности, они затем используются из кэша или они снова загружаются каждый раз при наведении, потому что я не отображаю сохраненный объект изображения?

1 Ответ

0 голосов
/ 25 октября 2011

Вы должны использовать эту предварительную загрузку:

if (document.images)
{
  pic1= new Image(100,25); 
  pic1.src="http://someplace.com/image1.gif"; 
}

if (document.images) используется для проверки, не поддерживает ли браузер предварительную загрузку изображений

...