2010-01-28 50 views
1

jQuery有可能识别浏览器当前是否没有加载任何东西,以及我的意思是同时加载图像和.load Ajax调用等。jQuery:预加载一组图像,但只有在没有其他加载的情况下

我想实现的目的是暗中(隐藏)在背景中预加载一组图像(重量较重),但不会分散其他加载过程。这意味着如果浏览器没有其他任何操作,它们只会预加载,并且如果别的东西开始加载,也会停止预加载。

有什么建议吗?

回答

2

看看Ajax Events,特别是ajaxStop全球事件。至于知道图像何时完成加载,可以使用load事件。例如:

$("#myImage").load(function() { 
    alert("image has completely loaded!"); 
}); 

把那些一起:

$("selector").ajaxStop(function(event,request,settings){ 
    var $img = $('<img src="foo.jpeg" id="myImage"/>'); 
    $img.load(function() { 
     alert("image has completely loaded!"); 
     $("div").append($(this)); 
    }); 
});