预加载图像的功能?

时间:2011-03-08 16:09:33

标签: javascript preload

我已成功使用此JavaScript在我的网站上预加载图片:

loveHover = new Image();
loveHover.src = "http://mypage.com/images/love-hover.png";

有没有一种简单的方法将这个东西打包成一个函数?类似的东西:

function preloadImage(image) {
    var image = new Image();
    var path = "http://mypage.com/images/";
    image.src = path + image;
}

3 个答案:

答案 0 :(得分:3)

["love-hover.jpg", "like-hover.jpg", "hate-hover.jpg"].forEach(function(img)
{
    new Image().src = "http://mypage.com/" + img;
});

要在9之前的IE版本中使用此功能,请参阅Array.forEach Compatibility section了解相关说明。

答案 1 :(得分:2)

这个函数的独特部分是src(链接到图像)。所以说出这个论点。

function preloadImage(src) {
    var image = new Image();
    image.src = src;
}

然后,如果您有多个网址将它们存储在数组中:

var imageSrcs = [
    "http://mypage.com/images/love-hover.png#",
    "http://mypage.com/images/love-hover2.png",
    "http://mypage.com/images/love-hover3.png"
];

用循环预加载图像:

for (var i = 0; i < imageSrcs.lengthl i++)
    preloadImage(imageSrcs[i]);

答案 2 :(得分:1)