【发布时间】:2014-01-20 19:53:13
【问题描述】:
我的网站结构是顺序的(如 page1.html 导致 page2.html,page2.html 导致 page3.html 等)。我想从第二页的第三页预加载一些图像。我在 SO 上找到了这段精彩的代码:
$.ajax({
url : 'somePage.html',
dataType : "html",
success : function(data) {
$(data).hide().appendTo('#someDiv');
var imagesCount = $('#someDiv').find('img').length;
var imagesLoaded = 0;
$('#someDiv').find('img').load( function() {
++imagesLoaded;
if (imagesLoaded >= imagesCount) {
$('#someDiv').children().show();
}
});
var timeout = setTimeout(function() {
$('#someDiv').children().show();
}, 5000);
}
});
它在将 page3.html 的全部内容转储到 page2.html 时效果很好。问题是,我不想要全部内容;我只想要图像,我希望它们隐藏起来,并在用户实际加载 page3.html 时做好准备。上面的 sn-p 带来了音频,以及随之而来的一切。所以我的问题是,下面这个破解版是否可以满足我的目的?
$.ajax({
url : 'page3.html',
dataType : "html",
success : function(data) {
var imagesCount = $(data).find('img').length;
var imagesLoaded = 0;
$(data).find('img').load( function() {
++imagesLoaded;
if (imagesLoaded >= imagesCount) {
//halt? do something?
}
});
}
});
同样,我想要的只是将 page3.html 的图像预加载到 page2.html 上。这会奏效吗?我该如何测试来验证?
【问题讨论】:
标签: javascript jquery html css ajax