JavaScript - 预加载图像

时间:2012-05-05 18:53:05

标签: javascript jquery css gallery

我正在制作一个照片库,我希望能够在加载主图像之前显示一个gif预加载器,然后显示主图像。

所以,这就是我得到的:

我有一个#photo_place,它是保存主要照片的div。这取决于用户选择的缩略图。当用户选择缩略图时,将触发此功能:

function gallery(icon){

    $('#photo_place').css('background-image','url("../images/'+icon+'.png")');

}

现在,我想要的是,首先,在#photo_place显示预加载器gif,加载所选图像......某处,加载该图像时,用主图像替换预加载器。

那么也许是这样的?

function gallery(icon){
    $('#photo_place').css('background-image','url("../images/preloader.gif")');
    load.in.image'images/'+icon+'.png';

    if(load.in.image == true){
        $('#photo_place').css('background-image','url("loaded image")');
    }
}

当然,这不是真正的JS,但是这样的东西应该可行吗?

有什么想法吗?

由于

1 个答案:

答案 0 :(得分:5)

也许你正在寻找这样的东西?

function gallery(icon) {
   var preLoader = '../images/preloader.gif';
   var imagePath = '../images/' + icon + '.png';

   $('#photo_place').css('background-image','url("../images/preloader.gif")');

   var image = new Image();

   image.onload = function() {
      $('#photo_place').css('background-image', imagePath);
   }
   image.src = imagePath;
}

同时结帐Image类引用:http://www.javascriptkit.com/jsref/image.shtml