tva*_*son 12
您需要在AJAX回调中添加加载处理程序,以便将其应用于通过AJAX调用加载的图像.您可能还希望设置一个计时器,以便在应用加载处理程序之前加载图像时,在一定时间间隔后显示内容.
$.ajax({
...
success: function(data) {
var imageCount = $(data).filter('img').length;
var imagesLoaded = 0;
$(data).hide()
.appendTo('#someDiv')
.filter('img')
.load( function() {
++imagesLoaded;
if (imagesLoaded >= imageCount) {
$('#someDiv').children().show();
}
});
setTimeout( function() { $('#someDiv').children().show() }, 5000 );
}
});
Run Code Online (Sandbox Code Playgroud)
bgr*_*ter 10
这是tvanfosson提供的代码的更新版本.
您必须确保该imageCount变量正在计算节点列表而不是字符串,因为我可以推断原始代码中的问题:
$.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);
}
});
Run Code Online (Sandbox Code Playgroud)