我不想知道预加载图像的方法,我在网上找到了很多,但我想知道它是如何工作的。javascript如何能够预加载图像?我的意思是,我从这里尝试了一个片段,即使它有效,它似乎也没有预加载图像。
当我检查萤火虫时,我可以看到图像被加载了两次,一次是在预加载时,另一次是在显示它时!
为了改进这段代码,我想知道它是如何工作的。
这是我所做的:
function preload(arrayOfImages) {
$(arrayOfImages).each(function(){
$('<img/>')[0].src = this;
//(new Image()).src = this;
alert(this +' && ' + i++);
});
}
然后我做这样的事情:
preloader = function() {
preload(myImages);
}
$(document).ready(preloader);
这是我显示/添加图像的方式:
$("li.works").click(function() {
$("#viewer").children().empty();
$('#viewer').children().append('<img src=\'images/ref/'+this.firstChild.id+'.jpg\' alt="'+this.firstChild.id+'" \/>')
$("#viewer").children().fadeIn();