我使用jQuery在用户单击链接时动态加载内容。内容只是一堆图像,然后设置为以各种幻灯片形式显示。我的问题是,我似乎无法找到一种方式来显示加载的内容只有在图像完全加载后。我尝试了几种不同的解决方案,他们都似乎要么破坏脚本,要么就是不按我想要的方式工作。以下是我现在使用的代码:使用ajax加载html,但隐藏内容直到加载
$(document).ready(function() {
$("a#item").click(function() {
var projectName = $(this).attr('class');
$("div.slideshow").css("display", "block");
$("div.slideshow").load(projectName+".php", function() {
var slideshow = new Array();
$("div.slideshow img").each(function() {
slideshow.push($(this));
});
startSlideshow(slideshow.shift());
function startSlideshow(image) {
image.delay(400).fadeIn(150, function() {
if(slideshow.length > 0) {startSlideshow(slideshow.shift());}
else { $("div.slideshow").delay(400).fadeOut(200, function() {$("div.slideshow img").css("display", "none")}); }
});
}
});
return false;
});
});
您还可以看到完整的演示站点位置:http://publicprofileproject.com/
任何投入将不胜感激!
找到一个插件来预先载入图像的图像。它可能会帮助你 – chepe263 2012-04-24 18:58:40
想法: 创建一个额外的隐藏div(显示:无)并插入img – chepe263 2012-04-24 19:03:16