如何预加载图像以便稍后使用jQuery将其设置为背景图像?

时间:2016-05-14 22:32:58

标签: jquery css image hover preloading

我正在尝试预加载图像,因此当我需要将其设置为背景图像时,它已准备就绪,并且在CSS过渡期间无法加载。我尝试使用AJAX load()方法来做,但我想我应该能够在没有AJAX的情况下完成它。我不确定这样的东西是否会起作用,因为我不需要img标签或src,而是存储背景图像的直接URL,以便稍后将其设置为背景图像。

var img = new Image(); img.src = 'img.jpg';

这是我到目前为止所做的:

$(document).ready(function() {
$('#LogoContainer').hover(function() {
    $('#LogoMainPart').fadeTo('slow', 0.3);
    $('#LogoOtherPart').fadeTo('slow', 1);
    $('#Introduction').css('background-image', 'url(hoverbackground.jpg)');
}, function() { 
    $('#LogoMainPart').fadeTo('slow', 1);
    $('#LogoOtherPart').fadeTo('slow', 0.3);
    $('#Introduction').css('background-image', 'url(background.jpg)');
});
});

1 个答案:

答案 0 :(得分:1)

使用

创建图像对象后
let gameObject = new GameObject();
let audioComponent = gameObject.getComponent(AudioComponent);

分配该图像的src,它将图像加载到浏览器缓存中,如下所示:

var myImage = new Image();

现在它已经在浏览器缓存中,您可以随时将它添加到DOM中:

myImage.src = 'my-bknd.jpg';