我想通过AJAX加载一些HTML文档,但我希望在本文档中的所有图像被填充时显示它。
$('.about').click(function () {
$(".back").load('Tour.html', function () {
$(".back").show();
});
});
当加载Tour.html中的所有图像,触发成功事件时,“。back”应该是可见的吗?
答案 0 :(得分:5)
$(".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>
。
答案 1 :(得分:1)
我建议使用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";
答案 2 :(得分:0)