【发布时间】:2010-01-28 19:28:36
【问题描述】:
是否可以使用 jQuery 来识别浏览器当前是否未加载任何内容,以及我的意思是加载图像和 .load Ajax 调用等。
我想要实现的是在后台秘密(隐藏)预加载一组图像(重量很重),但不会分散其他加载过程的注意力。这意味着它们只会在浏览器无事可做的情况下进行预加载,并且在其他内容开始加载时停止预加载..
有什么建议吗?
【问题讨论】:
是否可以使用 jQuery 来识别浏览器当前是否未加载任何内容,以及我的意思是加载图像和 .load Ajax 调用等。
我想要实现的是在后台秘密(隐藏)预加载一组图像(重量很重),但不会分散其他加载过程的注意力。这意味着它们只会在浏览器无事可做的情况下进行预加载,并且在其他内容开始加载时停止预加载..
有什么建议吗?
【问题讨论】:
查看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));
});
});
【讨论】: