我有一个图像预加载脚本,它是这个表格 nettuts 的略微修改版本:http: //net.tutsplus.com/tutorials/javascript-ajax/how-to-create-an-awesome-image-preloader/
我遇到的问题是预加载背景 gif 不适用于浮动的图像?
// JavaScript Document
$.fn.preloader = function(options){
var defaults = {
                 delay:20000,
                 preload_parent:"span",
                 check_timer:300,
                 ondone:function(){ },
                 oneachload:function(image){  },
                 fadein:500 
                };
// variables declaration and precaching images and parent container
 var options = $.extend(defaults, options),
 root = $(this) , images = root.find("img").css({"visibility":"hidden",opacity:0}) ,  timer ,  counter = 0, i=0 , checkFlag = [] , delaySum = options.delay ,
 init = function(){
    timer = setInterval(function(){
        if(counter>=checkFlag.length)
        {
        clearInterval(timer);
        options.ondone();
        return;
        }
        for(i=0;i<images.length;i++)
        {
            if(images[i].complete==true)
            {
                if(checkFlag[i]==false)
                {
                    checkFlag[i] = true;
                    options.oneachload(images[i]);
                    counter++;
                    delaySum = delaySum + options.delay;
                }
                $(images[i]).css("visibility","visible").delay(delaySum).animate({opacity:1},options.fadein,
                function(){ $(this).parent().removeClass("preloader");   });
            }
        }
        },options.check_timer) 
     } ;
images.each(function(){
    if($(this).parent(options.preload_parent).length==0)
    $(this).wrap("<span class='preloader' />");
    else
    $(this).parent().addClass("preloader");
    checkFlag[i++] = false;
    }); 
images = $.makeArray(images); 
var icon = jQuery("<img />",{
    id : 'loadingicon' ,
    src : 'css/i/89.gif'
    }).hide().appendTo("body");
timer = setInterval(function(){
    if(icon[0].complete==true)
    {
        clearInterval(timer);
        init();
         icon.remove();
        return;
    }
    },100);
}
$(function () {
$("#righthalf").preloader();
$("#portright").preloader();
$("#timeline").preloader();
$("#type").preloader();
})
有什么想法吗?