暂停显示图像,直到通过ajax在html结果中完全加载

时间:2011-11-06 15:43:24

标签: php jquery ajax

我知道有很多关于这个问题的问题,但我仍然没有掌握这个问题。 我有很多图像,点击后,我通过ajax获得大图像。 ajax的结果是加载到我选择的div中的html。这样做的原因是我打算在ajax返回的页面上使用其他信息。 返回的html包含img标签,我想要暂停显示图像,直到它完全加载。 这是我到目前为止所做的:

function getimage(sent_data){
$("#gallery").hide()
    $.ajax({
        type: "GET",
        url: "gallery/name.php?",
        data: "id=" + sent_data,
        success: callback
    });
}
function callback(data, status){
         $("#gallery").html('').hide(); // you need to remove the old image
        $("#gallery").removeClass("loading").html(data).fadeIn("slow");
}

,返回的数据是:

<a href="test.jpg" class = "cloud-zoom" rel="position: 'inside' , showTitle: false, adjustX:-4, adjustY:-4">
    <img src="test.jpg" width="450" height="301" alt="johnboy"/></a>

谢谢。

1 个答案:

答案 0 :(得分:0)

我没试过,但这应该有用。

当您从服务器获取html数据时,返回的html但不显示,然后将加载处理程序添加到您的gallery元素以及何时加载显示您的html。

$("#gallery").load(function(e) {
    $(this).show();
});

function callback(data, status){
     //edit: you must place your returned data
     $("#gallery").html(data).hide(); // you need to remove the old image
}