1

我正在使用以下代码:

   $.ajax({
        url: "pgiproxy.php",
        data: ({ data : $("#formdata").serialize(), mode : "graph"}),
        success: 
            function(result){
                var temp = $('<div/>').html(result);
                var val = temp.find('center').html();
                $('#BFX').html(val);
            },
        error:
            function(){
                $("#error").html("ERROR !!!");
            }
    });

ajax 调用“pgiproxy.php”的“结果”是整个网页(作为字符串返回),然后将其转换为 jQuery 对象并存储在“var”中。然后,我使用存储在“val”中的 .find() 提取我需要的数据(一个 .gif 图像)。然后将此图像插入到#BFX div 中进行显示。

我的问题是每次连续单击按钮更新此图像时,它都会显示从上到下加载的图像,因为它正在从网络读取图像。有没有办法只在完全加载后才显示此图像,这样用户就不会看到图像加载,而只会看到图像立即发生变化。

4

2 回答 2

2

使用.load()加载事件<img>

首先隐藏图像,然后在加载完成时显示它...

快速演示查看代码

于 2010-05-14T09:12:52.093 回答
0

您可以手动完成所有操作:在后台加载图像,然后将其插入页面。有几篇文章详细讨论了这个话题,包括这篇:http:
//jqueryfordesigners.com/image-loading/

于 2010-05-13T16:26:07.240 回答