在显示jQuery ajax load()内容之前预加载内容

时间:2011-05-01 17:43:02

标签: jquery

我想通过jQuery ajax load()函数(动态地,从PHP脚本)填充一些div,但我希望显示一个预加载imagem,直到所有照片都加载完毕。在这一点上有人可以帮助我吗?

这是现在的代码(它显示了图像,但显示了它们的加载):

            $(document).ready(function() {
                $('.lista_fotos').hide();
                $('.evento').click(function(){
                    if( $(this).next().is(':hidden') ) {
                        $('.evento').removeClass('evento_activo').next().slideUp();
                        $(this).toggleClass('evento_activo').next().slideDown();
                        var evento = $(this).text();
                        var pasta = $(this).attr("rel");
                        var ano = $(this).attr("name");
                        $(this).next().load('fotos_evento.php', { evento: evento, ano: ano, pasta: pasta });
                    }
                    else {
                        $(this).removeClass('evento_activo').next().slideUp();
                    }
                    return false;
                });
            });

提前致谢!

2 个答案:

答案 0 :(得分:0)

里卡多,

您可以执行以下操作,制作看起来像busy.gif左右的繁忙指示的图像...首先加载div背景图像作为加载图像

我举了一个例子

//将您的背景图片设为加载

你有一个回叫,说明加载很复杂,在回叫功能中删除加载图像并加载你的图像。

$('#result').load('ajax/test.html', function() {
 // load completed , hide your busy indicator and use your images from php
});

答案 1 :(得分:0)

要等待图像到load,您可以使用.load将处理程序绑定到图像。 (不要与你已经用来进行ajax调用的.load混淆)。像这样:

$('#myImage')。load(function(){   //当图像加载完毕时会触发 });