我正在开发自己的灯箱类jquery插件。一切正常但我想隐藏加载的内容,直到图像从AJAX调用加载到浏览器中。我发现了一个类似的帖子,我使用的是以下脚本,但是setTimeout函数是显示内容而不是.load函数的内容。我想要实现不可能吗?
$.ajax({
url: 'meet/'+ pLoad + '.html',
success: function(data) {
var imageCount = $(data).filter('img').length;
var imagesLoaded = 0;
$(data).hide()
.appendTo('#zoom_inner')
.filter('img')
.load( function() {
++imagesLoaded;
if (imagesLoaded >= imageCount) {
$('#zoom_inner').children().show();
}
});
setTimeout( function() { $('#zoom_inner').children().show() }, 5000 );
}
});
答案 0 :(得分:0)
如果您调查此文章,我认为您可以找到问题的解决方案(http://jqueryfordesigners.com/image-loading/)
祝福。
答案 1 :(得分:0)
关于你的意见:
数据只是成功回调中的一个字符串 - 它是“html”,但它是一个字符串。
使其成为使用的节点:
var $images = $(data); // i.e. turn <div><img /></div> into a div with an img as a child or whatever you got
var imageCount = $images.find('img').length;
很酷,嗯?