jQuery:预加载一组图像,但仅在没有其他任何内容加载的情况下

时间:2010-01-28 11:10:22

标签: jquery load preload

是否有可能使用jQuery来识别浏览器当前是否没有加载任何内容,而且我的意思是加载图像和.load Ajax调用等。

我想要实现的是秘密(隐藏)在后台预加载一组图像(重量很重),但不会分散其他加载过程。这意味着如果浏览器没有其他任何操作,它们只会预加载,如果其他东西开始加载,它们也会停止预加载..

有什么建议吗?

1 个答案:

答案 0 :(得分: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));
    });
});