我想通过 AJAX 加载一些 HTML 文档,但是我想在这个文档中的所有图像都被加载时显示它。
$('.about').click(function () {
$(".back").load('Tour.html', function () {
$(".back").show();
});
});
“.back”应该在 Tour.html 中的所有图片都加载后可见,什么时候触发成功事件??
我想通过 AJAX 加载一些 HTML 文档,但是我想在这个文档中的所有图像都被加载时显示它。
$('.about').click(function () {
$(".back").load('Tour.html', function () {
$(".back").show();
});
});
“.back”应该在 Tour.html 中的所有图片都加载后可见,什么时候触发成功事件??
$(".back").load('Tour.html', function (html) {
var $imgs = $(html).find('img');
var len = $imgs.length, loaded = 0;
$imgs.one('load', function() {
loaded++;
if (loaded == len) {
$(".back").show();
}
})
.each(function () { if (this.complete) { $(this).trigger('load'); });
});
这要求返回的 html 中至少有一个<img>
。
我建议使用 iframe 代替。以下是纯 JavaScript 中的一些示例代码:
var ifr=document.createElement("iframe");
ifr.style.display="none";
document.body.appendChild(ifr);
ifr.onload=function() {
// Do what you want with Tour.html loaded in the iframe
};
ifr.src="Tour.html";